Speedtest Tracker 自建网络测速记录:宽带跑稳后,用 cpolar 给客户远程验收时延和带宽
Speedtest Tracker 自建网络测速记录宽带跑稳后用 cpolar 给客户远程验收时延和带宽宽带最烦人的地方不是慢而是“偶尔慢”。客户说晚上开会卡家里人说直播掉帧运营商测速又刚好正常。这个时候只截一张测速图没什么说服力连续几天的下载、上传、时延、抖动曲线才有用。这篇我用 Speedtest Tracker 搭一个本地测速记录面板Docker Compose 部署、定时测速、看历史趋势再用 cpolar 临时把 Web 面板开放给客户、家人或远程同事验收。重点是宽带质量留痕不是状态页也不是系统监控。为什么我更喜欢持续测速而不是临时跑一次临时跑一次 speedtest只能证明“这一分钟网还行”。网络问题很多都出现在固定时间段晚上高峰期、上行打满时、NAS 备份时、直播推流时甚至是某个房间 Wi-Fi 干扰严重时。Speedtest Tracker 的价值就在这里它把每次测速结果保存下来面板里能看到下载、上传、Ping、抖动这些指标的历史变化。你不用靠记忆描述“昨晚好像卡了”直接把曲线拿出来看。我常用它做三类事情宽带安装或提速后连续跑一天看实际带宽是否稳定远程办公环境验收看会议时段的 Ping 和抖动是否异常给客户交付小型网络环境时用历史图证明链路质量而不是口头解释。这篇只使用演示数据。真实客户环境里不要把公网 IP、公司名称、内网网段、设备名称写进截图或备注里。准备目录和 APP_KEY演示机器只需要装好 Docker 和 Docker Compose。NAS、迷你主机、Linux 服务器都行Mac 或 Windows 也能用 Docker Desktop 跑起来。先建一个目录mkdir -p ~/speedtest-tracker-demo cd ~/speedtest-tracker-demoSpeedtest Tracker 需要APP_KEY做应用加密。生成一个新的 keyecho base64:$(openssl rand -base64 32 2/dev/null)复制输出结果后面填到.env。这个值不要发给别人也不要写进截图。它不是后台登录密码但属于应用密钥泄露后需要重新生成并更新配置。用 Docker Compose 部署 Speedtest Tracker这里我用 MariaDB 做数据库原因很简单数据和应用分开后面迁移、备份、清理都更顺手。安全边界也明确Web 面板只绑定127.0.0.1数据库端口不映射到宿主机。新建.envcat .env EOF PUID1000 PGID1000 TZAsia/Shanghai APP_KEYbase64:把刚才生成的APP_KEY放这里 APP_URLhttp://127.0.0.1:8080 DB_DATABASEspeedtest_tracker DB_USERNAMEspeedtest_tracker DB_PASSWORD请替换为一段长随机数据库密码 EOF再写docker-compose.ymlservices: speedtest-tracker: image: lscr.io/linuxserver/speedtest-tracker:latest container_name: speedtest-tracker restart: unless-stopped ports: - 127.0.0.1:8080:80 environment: - PUID${PUID} - PGID${PGID} - TZ${TZ} - APP_KEY${APP_KEY} - APP_URL${APP_URL} - DB_CONNECTIONmariadb - DB_HOSTdb - DB_PORT3306 - DB_DATABASE${DB_DATABASE} - DB_USERNAME${DB_USERNAME} - DB_PASSWORD${DB_PASSWORD} volumes: - ./config:/config depends_on: db: condition: service_healthy db: image: mariadb:11 container_name: speedtest-tracker-db restart: unless-stopped environment: - MYSQL_DATABASE${DB_DATABASE} - MYSQL_USER${DB_USERNAME} - MYSQL_PASSWORD${DB_PASSWORD} - MYSQL_RANDOM_ROOT_PASSWORDtrue volumes: - speedtest-db:/var/lib/mysql healthcheck: test: [CMD, healthcheck.sh, --connect, --innodb_initialized] interval: 10s timeout: 5s retries: 5 volumes: speedtest-db:划重点ports只写了127.0.0.1:8080:80。这表示宿主机本机能访问http://127.0.0.1:8080局域网其他机器不能直接扫到这个端口。数据库服务db没有ports字段所以 MariaDB 只在 Compose 内部网络里给应用访问不暴露到宿主机。启动服务docker compose up -d查看容器状态docker compose ps浏览器打开http://127.0.0.1:8080第一次进入后台后按页面引导创建管理员账号。这里不要使用真实生产账号也不要在教程、聊天记录、截图里展示密码。我的做法是给演示环境创建一个单独管理员账号密码用密码管理器生成验收结束后立刻改密或删除演示账号。先跑一次手动测速确认数据能入库服务起来后不急着开放给别人看先在本机跑通一次完整测速。进入面板后执行一次手动 Speedtest等待结果落库。一次结果里我会重点看四个值Download下行带宽影响下载、视频播放、会议接收画面Upload上行带宽影响直播推流、云盘同步、会议发言画面Ping基础时延越低越适合远程桌面、游戏、实时会议Jitter抖动代表时延波动视频会议卡顿经常和它有关。很多人只盯着下载速度其实远程办公更容易被上传和抖动坑。比如下行跑满 800 Mbps看起来很漂亮但上传只有 20 Mbps家里同时开云盘同步和视频会议体验照样糟糕。配置定时测速让曲线自己长出来手动测速只是开胃菜真正有价值的是定时任务。进入 Speedtest Tracker 的设置页面找到 Speedtest 或 Schedule 相关配置打开 scheduled tests设置执行频率。我的演示配置一般这样做普通家庭宽带每 30 分钟跑一次客户验收窗口每 15 分钟跑一次连续观察半天到一天长期留痕每 1 小时跑一次减少对网络和测速服务的打扰。如果面板支持指定测速服务器可以选离客户业务区域更接近的节点。不要为了好看专门挑最快节点验收时反而容易失真。客户关心的是实际业务体验测速节点应当和使用场景接近。设置好后等它自动跑几轮。结果页会逐渐积累数据Dashboard 里能看到趋势图Results 页面能筛选历史记录。Speedtest Tracker 还支持导出选中结果为 CSV交付报告或留档时很方便。怎么读这几条曲线看曲线时我不会只看峰值。峰值漂亮不代表网络稳定真正要看的是“低谷”和“波动”。下行带宽如果偶尔掉到套餐的一半以下需要结合时间点排查是不是晚高峰是不是有人在下载大文件是不是路由器 QoS 限速。上传带宽如果波动大要重点看云盘、监控录像、直播推流、NAS 异地备份这些上行业务。Ping 的绝对值能反映距离和链路质量但抖动更能解释“为什么平均速度不低会议还是卡”。如果 Ping 在 20ms 到 30ms 之间小幅波动体验通常稳定如果一会儿 20ms一会儿飙到 150ms视频会议、远程桌面、游戏都会感到明显顿挫。验收时我会截三类图最近一次测速结果、24 小时趋势图、异常时间段的 Results 列表。这样沟通效率很高客户能看到结论也能看到原始记录。用 cpolar 临时开放 Web 面板本地面板确认无误后再用 cpolar 开临时入口。这里的逻辑是Speedtest Tracker 仍然只监听127.0.0.1:8080公网访问能力交给 cpolar 隧道验收结束就关掉。启动临时隧道cpolar http 8080cpolar 会生成一个公网访问地址。把这个地址发给客户、家人或远程同事他们就能打开 Speedtest Tracker 面板查看测速历史。更稳妥的做法是专门创建一个临时演示账号只给查看测速结果需要的权限。验收对象只需要看曲线和结果不需要改系统设置、改数据库配置、改通知渠道。没有细粒度权限时就在现场共享屏幕或短时开放管理员账号验收后马上改密。这里千万不要把数据库端口开放出来也不要为了省事把 Docker socket 挂进容器。Speedtest Tracker 不需要控制 Docker挂载 Docker socket 只会扩大风险面。数据库也只给应用容器访问外部验收看 Web 面板就够了。演示数据和真实数据要分开这类网络测速数据看起来不敏感但截图里经常会带出环境信息公网出口区域、运营商、测速节点、时间规律、备注说明。如果是客户环境我建议只用演示数据写教程真实验收报告单独保存不混进公开文章。面板开放前我会做一遍清理检查页面上有没有客户名称、项目代号、内网地址检查账号头像、邮箱、通知配置有没有暴露真实信息检查 Results 列表里备注是否包含工单号或联系人检查截图是否只展示必要指标。如果只是给家人看宽带是否达标问题不大如果给客户验收就按交付资料处理。少给权限、少开时间、少暴露配置是最省心的安全策略。加一个阈值提醒定位异常更快Speedtest Tracker 支持阈值提醒和应用内通知。演示环境里可以设置一个简单规则下行低于套餐标称值的 70%、上传低于标称值的 70%、Ping 或抖动超过自己能接受的范围时记录一次提醒。这不是为了做状态页而是为了缩短排查时间。比如客户说“昨晚 9 点很卡”你打开历史记录如果 9 点附近有测速失败、上传低谷、抖动尖峰就能把问题范围缩小到那段时间再去查路由器、运营商、Wi-Fi 干扰或上行业务。我不建议一上来就接生产通知群。演示阶段用应用内通知就够了避免把测试告警刷到团队群里。等验收流程稳定再决定是否接邮件、Webhook 或其他通知渠道。常见坑端口和密码别图省事第一个坑是 Web 端口直接写成8080:80。这样局域网其他设备都能访问面板放在公司网络或客户现场并不合适。演示部署统一写127.0.0.1:8080:80需要外部验收时用 cpolar 短时开放。第二个坑是数据库端口暴露到宿主机。Compose 内部服务名db已经能让应用访问数据库不需要把数据库端口直接映射到宿主机。数据库一旦暴露弱密码、误扫、误连都会变成麻烦。第三个坑是演示账号用完不处理。很多临时开放事故不是工具本身的问题而是“临时”变成了“长期”。客户看完之后隧道没关、账号没改密、截图继续在群里转这才危险。临时开放后的收尾清单验收完成后我会按这个清单收尾关闭 cpolar 隧道确认公网地址已经无法访问修改临时演示账号密码或直接删除演示账号确认 Speedtest Tracker Web 端口仍然只绑定127.0.0.1确认 MariaDB 没有对宿主机暴露端口确认没有公开 Docker socket、数据库密码、APP_KEY和客户确认测速数据是否保留、导出 CSV或按约定清理清理公开截图里的客户名称、公网地址、备注信息。写到这里这套流程就很完整了Speedtest Tracker 负责持续测速和历史曲线Docker Compose 保证部署可复现cpolar 只负责短时远程验收。宽带质量这种东西别只靠一张截图说话让数据自己跑出来沟通会轻松很多。

相关新闻

树莓派运行Windows 11 ARM版:性能实测与优化指南

树莓派运行Windows 11 ARM版:性能实测与优化指南

最近在技术圈看到一个有趣的话题:树莓派能否流畅运行Windows 11?作为一款主打轻量级Linux应用的开发板,树莓派运行Windows系统听起来确实很有挑战性。本文将基于实际测试,全面揭秘树莓派运行Windows 11的性能表现、安装方法和优化…

2026/7/30 14:10:46 阅读更多 →
DC-DC转换器实战指南:从拓扑选型到PCB布局的硬件设计核心

DC-DC转换器实战指南:从拓扑选型到PCB布局的硬件设计核心

1. 从“电源”到“能量调度官”:DC-DC转换器的角色重塑 在硬件设计的江湖里,DC-DC转换器常常被简单地称为“电源芯片”。这个称呼没错,但格局小了。它更像是一个隐藏在电路板深处的“能量调度官”。它的核心任务,是把一个直流电压…

2026/7/30 14:10:46 阅读更多 →
12个月后,Claude跌出了周榜前十

12个月后,Claude跌出了周榜前十

下班回家,我打开OpenRouter的排行榜,想找个模型跑一批代码审查。往下划了三屏,没找到Claude。 不是网络问题。Anthropic的Opus 4.7和4.8双双跌出了周榜前十。近一年来,OpenRouter的榜单里第一次没有任何一款Claude模型。 我把截…

2026/7/30 14:10:46 阅读更多 →

最新新闻

城市治理的“透视眼”:一张图何以洞见城市呼吸脉搏?

城市治理的“透视眼”:一张图何以洞见城市呼吸脉搏?

你可能没有注意到,我们脚下的城市正以前所未有的速度生出“神经系统”。每一天,燃气管道里的压力波动、供水管网的流速变化、桥梁结构的微米级形变,都在产生着海量数据。但对于大多数城市管理者而言,最头疼的问题不是没有数据&…

2026/7/30 14:17:48 阅读更多 →
GetQzonehistory:3分钟快速备份QQ空间历史说说的终极指南

GetQzonehistory:3分钟快速备份QQ空间历史说说的终极指南

GetQzonehistory:3分钟快速备份QQ空间历史说说的终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否还记得十年前在QQ空间写下的第一条说说?那些记录…

2026/7/30 14:17:48 阅读更多 →
手持风扇无损改装21700电芯:续航提升2-3倍的DIY方案

手持风扇无损改装21700电芯:续航提升2-3倍的DIY方案

这次我们来看一个手持风扇的硬核改造项目——兰迪拨浪鼓风扇无损改装21700电芯。这个改造的核心目标很明确:在不破坏原机结构的前提下,通过更换大容量锂电池来大幅提升续航能力,同时保留原有的1503三相无刷电机和无人机材质桨叶带来的强劲性能…

2026/7/30 14:17:48 阅读更多 →
此docker compose非彼docker-compose

此docker compose非彼docker-compose

文章目录一,核心区别1, 核心对比表2, 详细说明3. 功能对比4. 如何选择二,总结一,核心区别 docker-compose 与 docker compose 这两个命令本质上是 Docker Compose 的两种不同安装方式,功能基本相同,主要区别在于安装方…

2026/7/30 14:17:48 阅读更多 →
Loop for macOS:免费开源的macOS窗口管理终极解决方案

Loop for macOS:免费开源的macOS窗口管理终极解决方案

Loop for macOS:免费开源的macOS窗口管理终极解决方案 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否曾经在macOS上为窗口管理而烦恼?面对多个应用程序窗口,需…

2026/7/30 14:17:48 阅读更多 →
Unity资源编辑新范式:AssetsTools.NET架构解析与实战指南

Unity资源编辑新范式:AssetsTools.NET架构解析与实战指南

1. 项目概述:为什么我们需要重新审视Unity资源编辑器?如果你在Unity项目里摸爬滚打过一段时间,肯定遇到过这样的场景:想替换一个UI图集中的某张小图,却发现整个图集文件(.spriteatlas)在Unity编…

2026/7/30 14:16:48 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻