Skip to content

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 -version

HTTP 协议测试

完整测试

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 -upload

TCP 协议测试

完整测试

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.log

Python 脚本

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 参数查看详细信息

基于 LGPL-3.0 许可证发布