哎,不知道你有没有遇到过这种抓狂时刻:

  • NAS 传个照片慢如蜗牛?

  • 手机看个高清视频疯狂缓冲?

  • 玩个局域网游戏卡成 PPT?

别急着怪运营商!问题很可能就出在你家的**局域网(内网)**里!

可能是路由器老了?网线接触不良?还是某个设备在“偷偷摸鱼”?想精准定位这些内网传输瓶颈,一个靠谱的局域网网速测试工具必不可少

我以前也用过很多命令行测速工具,对新手确实不太友好。直到我发现了 OpenSpeedTest 这个神器:

  • 免费开源 ✅

  • 支持网页操作(连 IE10 都能跑)✅

  • 轻量安全 ✅

  • 部署简单 ✅

只需一个 Docker 命令,就能快速在 NAS、服务器甚至树莓派上搭建一个专属测速网站。手机、电脑、平板,只要打开浏览器访问,就能立刻测出当前设备与服务器之间的真实带宽

接下来,我就来手把手教你用 Docker 部署 OpenSpeedTest,彻底摸清你家内网的“速度真相”。


🚀 项目介绍:OpenSpeedTest 是什么?

在开始部署之前,先简单了解一下这款神器——OpenSpeedTest

OpenSpeedTest 是一款免费开源的 HTML5 网络测速工具,诞生于 2011 年,后独立运行于 OpenSpeedTest.com。它基于纯 JavaScript 开发,不依赖 Flash、Java、插件或第三方库,仅通过浏览器原生 Web API(如 XHR、SVG)实现高性能测速,轻量又安全。

🌐 跨平台支持广泛:

  • 可直接在 手机、电脑、平板、电视、游戏主机上运行;

  • 支持 IE10+ 的几乎所有主流浏览器;

  • 无需安装客户端,一打开网页就能测速。

⚙️ 功能亮点包括:

  • 下载 / 上传 / Ping 多维度测速,误差率极低;

  • 支持多线程,模拟高并发带宽场景;

  • 前端体积小巧,Gzip 后仅 8KB,树莓派都能轻松跑;

  • 所有测速数据不上传云端,保护隐私安全;

  • UI 使用 SVG 矢量图形,自动适配各种屏幕尺寸,清晰美观。

📊 使用场景覆盖:

  • 家庭用户测试 Wi-Fi 死角、NAS传输慢等问题;

  • 企业 IT 运维排查内网交换瓶颈;

  • 私有云部署或开发阶段验证内网应用性能;

  • 云服务器选型或运营商网络质量对比测试。

总之,只要你需要了解设备与服务器之间的真实带宽表现,OpenSpeedTest 就是一个即开即用、零门槛、全平台适配的利器。


一、安装 OpenSpeedTest 服务器

演示环境说明

本文以 飞牛NAS 系统为例演示。
如你使用其他系统,只要安装了最新版的 Docker 和 Docker Compose,基本操作步骤一致。


第 1 步:开启 SSH,切换 root 用户

  1. 登录飞牛系统;

  2. 开启 SSH 功能;

  3. 使用终端工具(如 Termius 或 PuTTY)连接;

  4. 输入以下命令切换为 root:

    sudo -i

第 2 步:新建项目文件夹

  1. 新建一个项目文件夹>右键>详细信息>常规>复制原始路径

  2. 进入项目文件夹

    # 将 /vol1/1000/OpenSpeedTest 换成你自己实际的文件夹
    
    cd /vol1/1000/OpenSpeedTest

第 3 步:可选 - 创建 SSL 子目录

  1. 如你计划使用 HTTPS 或绑定域名访问,先创建一个SSL证书文件夹:

    mkdir ssl
  2. 将你的证书文件(如 .crt.key)重命名为:nginx.crtnginx.key并放入 ssl/ 文件夹内。


二、编写 docker-compose 配置文件

第 4 步:编辑模板文件

  1. 创建docker-compose.yml文件

    vi docker-compose.yml
  2. 按字母i键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入:wq保存并退出。

    version: '3.3'
    services:
        speedtest:
            environment:
                - CHANGE_CONTAINER_PORTS=True    # 启用端口更改
                - SET_SERVER_NAME=HOME-NAS    # 在 UI 上显示服务器名称
                #- ALLOW_ONLY=domain1.com;domain2.com;domain3.com    # 仅允许来自列出的域名访问
            #volumes:    #如果需要使用SSL证书,请取消注释这两行。
                #- './ssl/:/etc/ssl/'    # 可将./ssl/换成完整的文件夹路径
            restart: unless-stopped
            container_name: openspeedtest
            ports:
                - '3000:3000'    # 左侧的3000端口是HTTP访问端口,可自行修改。
                - '3001:3001'    # 左侧的3000端口是HTTPS访问端口,可自行修改。
            image: openspeedtest/latest

📝 提示:排版太挤可以先在本地文本编辑器写好再粘贴。


三、启动测速服务

第 5 步:拉取镜像并启动容器

docker compose up -d

或

docker-compose up -d

第 6 步:查看容器运行状态

docker compose ps

或

docker-compose ps

或查看实时日志:

docker compose logs -f

或

docker-compose logs -f

Ctrl + C 退出日志查看。


四、访问 OpenSpeedTest 网页测速

在浏览器访问本地地址:

  1. 打开浏览器,以NAS的IP+设置的端口号进行访问。

    以本机为例:http://192.168.2.5:3000/

你将看到简洁清爽的测速界面,点击按钮即可开始测速。


测试效果:

OpenSpeedTest 会测量当前设备与 NAS 之间的实时带宽。

如果你使用的是千兆网络设备,测速结果应能接近千兆速率(约 900Mbps 左右),否则可能存在:

  • 路由器性能瓶颈;

  • Wi-Fi 信号衰减;

  • NAS 网络接口限制;

  • 网线质量不佳。


五、拓展玩法:部署公网测速站点

你还可以用 OpenSpeedTest 打造属于自己的 在线测速网站

只需:

  1. 购买一台公网云服务器;

  2. 按上面方式部署;

  3. 配置好域名解析和SSL证书;

  4. 启用 HTTPS,即可公网访问测速。

可以给自己、朋友、团队提供专属测速服务,甚至做成测速入口页!后期添加广告赚刀乐!


🔗 项目地址

官方开源地址(欢迎 Star):
👉 https://github.com/openspeedtest/Speed-Test


🚀 就这么简单!你现在已经可以拥有一个专属的内网测速网站了。
用它查找网络瓶颈、验证网络质量,从此不再盲目甩锅!

文末

👇👇👇