科学工具
科学工具让世界更美好
让世界更美好

OpenSpeedTest 网络性能测试工具OpenSpeedTest 网络性能测试工具

OpenSpeedTest 是一个免费且开源的 HTML5 网络性能评估工具,使用原生 JavaScript 编写,只使用内置的 Web API,如 XMLHttpRequest(XHR)、HTML、CSS、JS 和 SVG,不需要第三方框架或库,只需要一个静态 Web 服务器如 NGINX。

OpenSpeedTest 目标是安全、轻量级和高性能,不包含任何客户端软件或插件,可以在任何支持 IE10 或更新版本的 Web 浏览器上运行。

安全性

OpenSpeedTest 只包含静态文件,如 HTML、CSS 和 JS,不需要担心安全更新或隐藏漏洞可能危及安全环境。

性能

使用原生 JavaScript 编写,OpenSpeedTest 的脚本文件大小压缩后不到 8KB。

设备

OpenSpeedTest 可以在任何支持 IE10 或更新版本的 Web 浏览器上运行,适用于任何设备和显示尺寸。

自定义服务器

你可以创建自己的 SpeedTest 服务器,服务器要求包括 Nginx、Apache、IIS、Express 或任何支持 HTTP/1.1 或更新版本的 Web 服务器,服务器需要接受 GET、POST、HEAD 和 OPTIONS 请求,返回 200 OK 响应。

功能

压力测试

通过传递 Stress 或 S 关键字作为 URL 参数,可以启用压力测试。例如,http://192.168.1.5?Stress=Low 将运行 300 秒的压力测试。

自动运行测试

可以通过在 URL 中添加 Run 或 R 关键字来自动运行速度测试。例如,http://192.168.1.5?Run=10 将在页面加载后 10 秒自动运行测试。

多服务器选择

可以在配置文件中添加多个服务器,应用程序会自动选择延迟最小的服务器。

其他功能

• 禁用或更改开销补偿因子。

• 更改默认的并行 HTTP 连接数。

• 选择不同的服务器进行测试。

• 选择并运行下载、上传或 Ping 测试。

• 动态设置 Ping 超时时间。

• 设置 Ping 样本数量。

部署选项

OpenSpeedTest 支持自托管(本地部署)和 Docker 镜像。可以使用源代码和选择的 Web 服务器进行自定义部署,或者使用 Docker 镜像进行快速部署。

Docker 部署

安装 Docker 后,可以运行以下命令来部署 OpenSpeedTest:

sudo docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest

使用 Let's Encrypt 设置免费 SSL

需要公网 IP 地址、解析到服务器 IP 地址的域名和电子邮件地址,可以使用以下命令生成 Let's Encrypt 证书并配置自动续期:

docker run -e ENABLE_LETSENCRYPT=True -e DOMAIN_NAME=speedtest.yourdomain.com -e USER_EMAIL=you@yourdomain.pro --restart=unless-stopped --name openspeedtest -d -p 80:3000 -p 443:3001 openspeedtest/latest

使用自定义 SSL 证书

需要提供证书文件和密钥文件,可以将这些文件挂载到 Docker 容器中:

sudo docker run -v /path/to/certificates:/etc/ssl/ --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest

OpenSpeedTest 是一个简单高效的网络性能测试工具,适用于家庭实验室、办公室服务器或云服务器,可以用于比较不同互联网服务提供商的速度,诊断网络问题。