CLI 工具
GoSpeedTest 提供了功能强大的命令行工具,支持快速测试和脚本集成。
安装
从源码构建
bash
# 克隆项目
git clone https://gitee.com/liumou_site/GoSpeedTest.git
cd GoSpeedTest
# 构建 CLI 客户端
go build -o GoSpeedTest-CLI cmd/client/main.go下载预编译文件
从 Gitee Releases 下载对应平台的二进制文件。
基本命令
查看帮助
bash
./GoSpeedTest-CLI -help查看版本
bash
./GoSpeedTest-CLI -versionHTTP 协议测试
完整测试
bash
# 运行完整测试(Ping + 下载 + 上传)
./GoSpeedTest-CLI -server http://localhost:8080单项测试
bash
# 仅测试 Ping
./GoSpeedTest-CLI -server http://localhost:8080 -ping
# 仅测试下载
./GoSpeedTest-CLI -server http://localhost:8080 -download
# 仅测试上传
./GoSpeedTest-CLI -server http://localhost:8080 -uploadTCP 协议测试
完整测试
bash
# TCP 协议完整测试
./GoSpeedTest-CLI -server localhost:12306 -tcp单项测试
bash
# TCP 下载测试
./GoSpeedTest-CLI -server localhost:12306 -tcp -download
# TCP 上传测试(基于大小)
./GoSpeedTest-CLI -server localhost:12306 -tcp -upload
# TCP 上传测试(基于时间,30 秒)
./GoSpeedTest-CLI -server localhost:12306 -tcp -upload -upload-duration 30参数说明
通用参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-server | 服务器地址 | 必需 |
-tcp | 使用 TCP 协议 | false (HTTP) |
-verbose | 显示详细输出 | false |
-version | 显示版本信息 | false |
-help | 显示帮助信息 | false |
测试选择参数
| 参数 | 说明 |
|---|---|
-ping | 仅测试 Ping |
-download | 仅测试下载 |
-upload | 仅测试上传 |
TCP 特定参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-upload-size | 上传测试大小(字节) | 2GB |
-upload-duration | 上传测试时长(秒) | 不使用 |
输出示例
标准输出
TCP下载测试完成:
耗时: 0.12 秒
数据大小: 800.00 MB
下载速度: 59.12 Gbps
质量评估: 🟢 优秀 (Excellent)详细输出(-verbose)
2024/01/15 10:30:00 连接服务器: localhost:12306
2024/01/15 10:30:00 开始下载测试
2024/01/15 10:30:00 已接收: 100.00 MB, 当前速度: 58.50 Gbps
2024/01/15 10:30:00 已接收: 200.00 MB, 当前速度: 59.00 Gbps
2024/01/15 10:30:00 已接收: 400.00 MB, 当前速度: 59.20 Gbps
2024/01/15 10:30:00 已接收: 800.00 MB, 当前速度: 59.12 Gbps
TCP下载测试完成:
耗时: 0.12 秒
数据大小: 800.00 MB
下载速度: 59.12 Gbps
质量评估: 🟢 优秀 (Excellent)脚本集成
Bash 脚本示例
bash
#!/bin/bash
SERVER="http://localhost:8080"
OUTPUT_FILE="speedtest_results.txt"
echo "开始测速: $(date)" >> $OUTPUT_FILE
./GoSpeedTest-CLI -server $SERVER >> $OUTPUT_FILE
echo "------------------------" >> $OUTPUT_FILE定时任务(Cron)
bash
# 编辑 crontab
crontab -e
# 每小时执行一次测速
0 * * * * /path/to/GoSpeedTest-CLI -server http://localhost:8080 >> /var/log/speedtest.logPython 脚本
python
import subprocess
import json
server = "http://localhost:8080"
result = subprocess.run(
["./GoSpeedTest-CLI", "-server", server],
capture_output=True,
text=True
)
print(result.stdout)性能基准测试
使用 CLI 工具进行性能测试:
bash
# 多次测试取平均值
for i in {1..5}; do
echo "测试 $i:"
./GoSpeedTest-CLI -server localhost:12306 -tcp -download
echo "-------------------"
done常见问题
连接被拒绝
- 确认服务器正在运行
- 检查端口是否正确
- 验证防火墙设置
测试速度慢
- 检查网络连接
- 关闭其他网络应用
- 尝试使用有线网络
输出乱码
- 确保终端支持 UTF-8
- 使用
-verbose参数查看详细信息