当前位置: 首页 > news >正文

Python小工具之httpstat网络分析

一、简介

Python httpstat是一个基于Python的命令行工具,用于测量HTTP请求的性能和状态信息。它能够向目标服务器发送HTTP请求,并显示详细的统计信息,包括DNS解析时间、建立连接时间、TLS/SSL握手时间、首字节时间、总时间等。这些信息对于排查网络问题、优化Web应用程序以及监控HTTP请求的性能非常有帮助。

httpstat通过封装curl命令,将整个连接过程每个阶段耗时可视化统计出来,就如README所述:"httpstat visualizes curl(1) statistics in a way of beauty and clarity。"

主要功能:

显示HTTP请求的详细性能统计信息。
支持HTTP和HTTPS协议。
提供对不同阶段的时间度量,如DNS解析、连接建立、TLS/SSL握手等。
支持自定义HTTP请求头和参数。
支持跟踪重定向。
支持IPv6。

二、安装使用

1、离线下载安装

wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
mv httpstat.py /usr/bin/httpstat 
chmod +x /usrbin/httpstat

2、在线pip安装 

pip install httpstat

3、使用案例

httpstat https://www.baidu.com

httpstat将向指定URL发送HTTP请求,并显示详细的性能统计信息,如DNS解析时间、连接建立时间、TLS/SSL握手时间、首字节时间、总时间等。

从这个测试来看,dns这个环节耗时较长,指定新的dns服务器后,再去监测,明显响应时间得到提升。

三、展开使用 

在实际应用中,可能需要定期监测你的网站或Web应用程序的性能。使用Python httpstat,可以编写一个脚本,定期测试关键URL,并将性能数据记录下来,以便进行性能分析和长期趋势分析。

import subprocess
import time# 要监控的URL列表
urls = ["https://www.example.com", "https://www.example2.com"]while True:for url in urls:# 运行httpstat命令并捕获输出command = f"httpstat {url}"result = subprocess.run(command, shell=True, capture_output=True, text=True)# 将性能数据记录到日志文件with open("performance.log", "a") as log_file:log_file.write(result.stdout)# 每隔一段时间执行一次测试time.sleep(3600)  # 每小时执行一次

http://www.lryc.cn/news/409384.html

相关文章:

  • 挑战房市预测领头羊:KNN vs. 决策树 vs. 线性回归
  • Docker 基础知识
  • 视频主题Qinmei 3.0视频站源码_WordPress影视视频主题/附详细安装教程
  • 数字看板:跨行业需求下的创新与升级
  • 02、爬虫数据解析-Re解析
  • 掀桌子了!原来是咱们的大屏设计太酷,吓着前端开发老铁了
  • JavaScriptfor循环的树形菜单栏·
  • easyExcel 3.x以上版本导入数据后,再把错误信息导出,外加自定义RGB背景色、行高、宽度等
  • React的img图片路径怎么写
  • UGUI优化篇--UGUI合批
  • FineBI连接MySQL5.7
  • 基于tkinter的学生信息管理系统之登录界面和主界面菜单设计
  • web基础以及http协议
  • DataEase一键部署:轻松搭建数据可视化平台
  • 网络安全相关竞赛比赛
  • Vscode——如何快速搜索项目工程中的某个文件的位置
  • Kubernetes 正在弃用 Docker?Docker将何去何从?
  • 编程语言「描述符」漫谈——以C++与Rust为例的行为声明与类型描述
  • 电脑屏幕录制软件哪个好?推荐3款,满足各种录制需求
  • 大模型学习应用 1:用 itrex 创新高效实现 LLM 的部署和微调
  • 【Android】碎片—动态添加、创建Fragment生命周期、通信
  • 前端 SSE 长连接
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • Python酷库之旅-第三方库Pandas(051)
  • linux timestamp
  • Vue.js 搭建大屏可视化项目
  • Linux:进程信号(二.信号的保存与处理、递达、volatile关键字、SIGCHLD信号)
  • 最值得推荐的5个AI大模型API
  • PyTest+Allure生成测试报告
  • ROS2教程(10) - 编写接收程序、添加frame - Linux