Zeruns's Blog

群晖NAS搭建测速网站,支持万兆

使用群晖docker和homebox程序搭建局域网测速网站,内网带宽测试

Homebox

家庭网络工具箱,主要用于组建家庭局域网时的一些调试、检测、压测工具。

开源项目链接:https://github.com/XGHeaven/homebox

需要家庭内有一个较强服务端,否则服务端可能会成为瓶颈。测试端需要使用现代新版浏览器,比如 Chrome/Firefox 等。如果测速的是高速网络,请尝试保证机器 CPU 性能足够强劲

特点

搭建教程

先到套件中心安装Docker套件

安装好以后打开Docker在注册表这里搜索:homebox,选择第一个,点击【下载】

稍等片刻下载完成,完成后再到【映像】选择到我们刚才下载的点击【启动】

开始创建容器,这里点击【高级设置】

点击端口设置,按照下图所示设置,然后点击应用

最后确认一下即可点击【应用】,应用后自动启动容器。

然后就安装完成了,在浏览器中输入 http://你群晖的IP:3300 即可

使用说明

输入网址之后,会看到分为两种测试模式,分别是单次测速和持续压测。

Terminal(WIP)

某些极端情况下,机器性能不足或者浏览器版本过低,可以直接通过复制浏览器中提供的测速脚本,在终端中测速。 一方面方便某些懒人不愿意打命令行,另一方面脱离了浏览器的环境,测速性能和准确度会更高

Design

由于众所周知的原因,浏览器中 js 的效率是比较低的,而且在网络请求的时候,还是占用大量的内存。 所以为了避免主线程的卡顿,所有的请求都是在 Web Worker 中进行的。

但仅仅一个 Worker 是支撑不住万兆网络的测速要求的,因为一个 Worker 并发请求的能力依旧很低。 比如使用 curl 单链接单进程最高可以达到 2GB/s 的速度,核算过来大约 16Gbps。 而一个 Worker 就算是开启多请求并发的速度,也仅仅只能达到 500MB/s,可见性能有多低。

解决方案也很简单,创建多个 Worker 叠加测速,来叠加到万兆网络的要求。 但是多个 Worker 对机器的性能要求很高,如果只是用于千兆网络测速,而机器性能又比较弱,就会导致测速不准。

这就是为什么会有两种模式的原因,高速模式低速模式。 在高速模式下,会启用多 Worker,而低速模式下,仅仅启用一个 Worker 来减少资源的占用。

推荐阅读

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »