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,并将性能数据记录下来,以便进行性能分析和长期趋势分析。

python 复制代码
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)  # 每小时执行一次
相关推荐
星云穿梭15 小时前
用Python写一个带图形界面的学生管理系统——完整教程
python
金銀銅鐵16 小时前
用 Pygame 实现 15 puzzle
python·数学·游戏
黄忠21 小时前
大模型之LangGraph技术体系
python·llm
hboot1 天前
AI工程师第二课 - 数据处理
人工智能·python·数据分析
用户8356290780512 天前
使用 Python 自动化 PowerPoint 形状布局与格式设置
后端·python
用户8356290780512 天前
用 Python 自动化 PowerPoint 演讲者备注添加
后端·python
黄忠2 天前
01-系统架构设计-LangGraph状态机与多源异构RAG
python
zzzzzz3102 天前
假如我是掘金管理员,我先给评论区装个'代码审查'系统
python·程序员·机器人
砍材农夫2 天前
python环境|conda安装和使用(2)
后端·python
程序员龙叔2 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试