8ctopus / hstat
测试网页速度的命令行工具
1.1.1
2024-08-28 06:25 UTC
Requires
- symfony/console: ^7
- symfony/finder: ^7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.9
README
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 列
- 支持并发请求
- 更多统计信息
- 添加测试进度指示器