一个使用 Go 语言编写的,简单而强大的命令行网络性能测试工具。 它能够测量 DNS 查询耗时、TCP 连接耗时、TLS 握手、服务器处理时间 (TTFB) 等多项指标。
- 精细的连接分析: 将网络连接过程分解为:
- DNS 查询
- TCP 连接
- TLS 握手
- 服务器处理 (首字节时间 TTFB)
- 内容传输
- 支持多次运行: 可重复运行测试以检查网络稳定性。
- 统计摘要: 在多次运行时,自动计算
平均值、最小值和最大值。 - 指定测试类型: 可以只运行特定的测试(例如
dns或tcp)。 - 友好的输出: 整洁、高亮、结构化的输出,易于阅读。
- 可视化图表: 在单次运行模式下,通过文本条形图快速定位瓶颈。
- 无依赖: 仅使用 Go 标准库构建。
请确保您已安装 Go (推荐 1.18 或更高版本)。
进入项目目录并运行:
go build这将在当前目录中创建一个名为 gonet-tester 的可执行文件。
基本语法为:
./gonet-tester [参数] <url>-n <次数>: 指定测试运行的次数 (默认为1)。-test <类型>: 指定要运行的测试类型。可选值为all,dns,tcp(默认为all)。-http: 使用此标志后,对于不带协议的域名,将使用http作为默认协议(默认为https)。
1. 运行一次完整的分析:
./gonet-tester google.com输出将是带有可视化图表的、详细且高亮的结果。
2. 只运行 DNS 测试 10 次,并查看统计摘要:
./gonet-tester -n 10 -test=dns google.com输出将是这 10 次 DNS 查询的统计摘要,包含每次运行的耗时、平均值、最小值和最大值。
3. 使用http协议对域名进行测试:
./gonet-tester -http example.com4. 只运行 TCP 连接测试 5 次:
./gonet-tester -n 5 -test=tcp apple.com5. 运行 3 次完整的分析:
./gonet-tester -n 3 https://github.com输出将是 3 次运行中每个阶段(DNS, TCP 等)的统计摘要。