8ctopus/hstat

测试网页速度的命令行工具

安装: 0

依赖: 0

建议: 0

安全性: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:应用程序

1.1.1 2024-08-28 06:25 UTC

This package is auto-updated.

Last update: 2024-08-28 06:28:19 UTC


README

license lines of code

hstat 是一个命令行工具,用于测试网页的性能。

它受到了 @talhasch 的 php-httpstat 和 @reorx 的 httpstat 作品的启发,并增加了一些改进。

  • 独立
  • 带有暂停的迭代
  • 数据集分析:平均值、中位数、最大值和最小值。

如何安装

您可以选择以下方式之一

  • composer install composer require 8ctopus/webp8
  • 下载 phar
  • 或自行构建
curl -LO https://github.com/8ctopus/hstat/releases/download/1.1.1/hstat.phar

# check hash against the one published under releases
sha256sum hstat.phar

# make phar executable
chmod +x hstat.phar

# rename phar (optional)
mv hstat.phar hstat

# move phar to /usr/local/bin/ (optional)
mv hstat /usr/local/bin/

如何使用

基本

$ ./hstat speed https://octopuslabs.io/

 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------
  /   DNS lookup (ms)   TCP connection (ms)   TLS handshake (ms)   server processing (ms)   content transfer (ms)   total (ms)
 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------
  1   16                237                   767                  156                      0                       1176
 --- ----------------- --------------------- -------------------- ------------------------ ----------------------- ------------

高级

测量网站速度 10 次迭代,每次迭代间暂停 3 秒,显示中位数、平均值、最小值和最大值

$ ./hstat speed --iterations 10 --pause 3000 --median --average --min --max https://octopuslabs.io/
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------
  /     DNS lookup (ms)   TCP connection (ms)   TLS handshake (ms)   server processing (ms)   content transfer (ms)
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------
  1     21                69                    96                   67                       1
  2     14                74                    102                  73                       2
  3     12                114                   93                   69                       0
  4     21                68                    106                  68                       1
  5     14                92                    97                   67                       1
  6     28                72                    132                  364                      1
  7     22                72                    99                   72                       1
  8     14                86                    110                  69                       1
  9     8                 102                   92                   74                       1
  10    12                67                    87                   68                       1

  med   14                73                    98                   69                       1
  avg   17                82                    101                  99                       1
  min   8                 67                    87                   67                       0
  max   28                114                   132                  364                      2
 ----- ----------------- --------------------- -------------------- ------------------------ -----------------------

定义

  • DNS 查找:查找服务器 IP 地址的时间
  • TCP 连接:建立与服务器连接的时间
  • TLS 握手:建立与服务器安全连接的时间(仅限 https)
  • 服务器处理:服务器处理请求的时间(apache/nginx + php)
  • 内容传输:将页面传输到您的时间

Xdebug Cookie 示例

./hstat speed --iterations 10 --median --average --min --max --arguments="--cookie \"XDEBUG_SESSION=mysession\"" https://octopuslabs.io/

构建 phar

./build.sh

改进想法

  • 添加头部选项
  • 添加特定头部选项
  • 将速度命令设置为默认命令
  • 导出到 csv
  • 并行 curl 请求
  • 使比较成为可能
  • 修复 curl 命令的 json_decode 区域问题 - curl/curl#1037
  • 当进行 http 请求时移除 TLS 列
  • 支持并发请求
  • 更多统计信息
  • 添加测试进度指示器