SpeedTest 由 OpenSpeedTest™ 提供 - 免费且开源的 HTML5 网络性能估算工具。
SpeedTest 由 OpenSpeedTest™ 提供,是一个免费的、开源的 HTML5 网络性能估算工具,使用纯 Javascript 编写,仅使用内置的 Web API,如 XMLHttpRequest (XHR)、HTML、CSS、JS 和 SVG。不需要第三方框架或库。我们只需要一个静态的网络服务器,如 NGINX。我在 2011 年开始了这个项目,并在 2013 年将其迁移到了 OpenSpeedTest.com 专用的项目/域名。
刚刚推出:OpenPacketLoss。快来看看吧!
虽然 OpenSpeedTest 测量带宽,这个工具帮助你直接从浏览器检测数据包丢失。
试试看: https://openpacketloss.com
源代码: https://github.com/openpacketloss
不需要客户端软件或插件。您可以使用任何设备上的 IE10 或更新版本的 Web 浏览器运行网络速度测试。
OpenSpeedTest 包含只有 STATIC 文件,例如 HTML,CSS 和 JS.
所以你不需要担心安全更新或隐藏的漏洞可能会破坏你的安全环境。
OpenSpeedTest 是用纯 JavaScript 编写的。没有使用第三方框架或库。SpeedTest 脚本文件大小在 8kB gzip 以内。使用纯 JavaScript 的意外副作用是高性能。
OpenSpeedTest 将会在任何版本的 IE10 或更新的浏览器上运行。
OpenSpeedTest 用户界面是用 SVG 编写的。
Nginx, Apache, IIS, Express, 或任何支持 HTTP/1.1 或更新版本的网络服务器。
接受,
GET,POST,HEAD&OPTIONS, 响应200 OK.接受,
POST静态文件, 响应200 OK.client_max_body_size, 35 兆字节或更多。超时大于
60 seconds.禁用
Access logs以提高服务器性能。改进
Time to First Byte(首次往返时间)警告!如果你在反向代理后面运行它,你应该将
post-body content length增加到35兆字节。支持
HTTP2&HTTP3.HTTP1.1推荐用于实现最佳性能。
OpenSpeedTest-Server 适用于 Windows、Mac、Linux、Android、iOS 和 Docker。
压力测试。(连续速度测试)
要启用压力测试,请传递Stress或S关键字作为URL参数。
http://192.168.1.5?Stress=Low
在STRESS或S关键字之后,您可以指定以秒为单位的运行时间,或者预设值,例如Low、Medium、High、VeryHigh、Extreme、Day和Year。将分别进行300、600、900、1800、3600、86400、31557600秒的速度测试。此外,您还可以输入每个参数的第一个字母及其值。
http://192.168.1.5?S=L
S=L与传递相同Stress=low
或者您可以指定秒数,例如:5000 直接而不使用任何预设关键词。
http://192.168.1.5?Stress=5000
自动进行速度测试
在页面加载时自动运行速度测试。
http://192.168.1.5?Run
几秒后自动进行速度测试。
http://192.168.1.5?Run=10 or http://192.168.1.5?R=10
你可以传递多个关键词,并且它不是Case-Sensitive.
http://192.168.1.5?Run&Stress=300 OR http://192.168.1.5?R&S=300
这将立即开始一个速度测试,并在每个方向运行300 seconds。下载需要300秒,300 seconds上传需要。
将结果保存到数据库
编辑Index.html
var saveData = true; var saveDataURL = "//yourDatabase.Server.com:4500/save?data=";
添加多个服务器。应用程序将自动选择延迟最小的一个。
编辑Index.html
var openSpeedTestServerList = [
{"ServerName":"Home-Earth", "Download":"/downloading", "Upload":"/upload", "ServerIcon":"DefaultIcon"},
{"ServerName":"Home-Mars", "Download":"/downloading", "Upload":"/upload", "ServerIcon":"DefaultIcon"},
{"ServerName":"Home-Moon", "Download":"/downloading", "Upload":"/upload", "ServerIcon":"DefaultIcon"}
];禁用或更改补偿因子。
http://192.168.1.5?clean
补偿因子,这是一个基于浏览器的测试,许多未知数。目前为4%。这在误差范围内。
你可以通过 Clean 或 C 作为URL参数传递,并重置过顶补偿因子为零或设置0到4之间的任何值。1 = 1% 到 4 = 4%。
Clean不会接受超过4的值,因此补偿最高限制为4%。
将默认的6个并行HTTP连接限制更改为服务器。
http://192.168.1.5?XHR=3 OR http://192.168.1.5?X=3
允许用户更改到服务器的默认6个并行HTTP连接限制。XHR将接受1以上的值,最大值为32
通过 XHR 或 X 作为 URL 参数。
选择不同的服务器进行速度测试。
http://192.168.1.5?Host=http://192.168.55.1:90 OR http://192.168.1.5?h=http://192.168.55.1:90
通过 Host 或 H 作为 URL 参数。
HOST 只接受有效的HTTP网址,如 http://192.168.1.10:3000 或 https://yourHost.com。
一次选择并运行一个测试,
DOWNLOAD,UPLOAD,或PING。
http://192.168.1.5?Test=Upload OR http://192.168.1.5?T=U
TEST允许用户一次选择并运行一个测试,下载、上传或ping。
通过 Test 或 T 作为 URL 参数。
通过传递
Out或O作为 URL 参数动态设置 PingTimeout
http://192.168.1.5?Out=7000 OR http://192.168.1.5?O=7000
如果服务器在我们发送的任何请求('pingSamples'次)后5秒内没有响应
我们将展示Network Error,您可以在此更改限制。
以毫秒为单位,如果你需要设置6 seconds。将值更改为6000。
通过添加
Ping或P作为URL参数来设置ping样本的数量
http://192.168.1.5?Ping=500 OR http://192.168.1.5?P=500
更多样本 = 更准确的代表性。Ping = 500将发送501请求到服务器以找到准确的ping值。 查看index.html,您可以设置自定义ping样本大小、线程、上传数据大小等。
你有两个选择。如果你需要定制部署,请使用我们的源代码和你选择的网页服务器。我更喜欢Nginx,你可以在这里找到我的Nginx配置。或者你可以使用我们的docker镜像。你可以在有或没有活动互联网连接的情况下在你的局域网/广域网中部署它。
这是使用nginxinc/nginx-unprivileged:stable-alpine实现的Docker,资源使用显著减少。
NGINX Docker 镜像,以非 root、无特权用户运行 NGINX。
安装Docker并运行以下命令!
sudo docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latestversion: '3.3' services: speedtest: restart: unless-stopped container_name: openspeedtest ports: - '3000:3000' - '3001:3001' image: openspeedtest/latest
警告!如果你在反向代理后面运行它,你应该将
post-body content length增加到35兆字节。
现在打开您的浏览器并将其指向:
A: 对于 HTTP 使用: http://YOUR-SERVER-IP:3000
B: 对于 HTTPS 使用: https://YOUR-SERVER-IP:3001
如果你需要在其他端口运行这个镜像 HTTP,例如:更改成 80 = -p 80:3000
如果你需要在不同的端口运行这个镜像 HTTPS,例如:更改到 443 = -p 443:3001
要求
公共 IPV4 和/或 IPV6 地址。
一个解析为速度测试服务器IP地址的域名。
电子邮件 ID
以下命令将为您的域名生成 Let's Encrypt 证书,并配置一个 cron 作业以自动续订证书。
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
version: '3.3' services: speedtest: environment: - ENABLE_LETSENCRYPT=True - DOMAIN_NAME=speedtest.yourdomain.com - USER_EMAIL=you@yourdomain.pro restart: unless-stopped container_name: openspeedtest ports: - '80:3000' - '443:3001' image: openspeedtest/latest
要求
包含您的证书、自签名或付费的文件夹。
将 .cet 文件和 .key 文件重命名到
nginx.crt&nginx.key文件夹需要包含:
nginx.crtnginx.key
sudo docker run --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latest
要将带有您自己的SSL证书的文件夹挂载到此Docker容器,请在上述命令中添加以下行:
-v /${PATH-TO-YOUR-OWN-SSL-CERTIFICATE}:/etc/ssl/我正在通过以下命令将包含nginx.crt和nginx.key的文件夹从我的桌面上添加到服务器。
sudo docker run -v /Users/vishnu/Desktop/docker/:/etc/ssl/ --restart=unless-stopped --name openspeedtest -d -p 3000:3000 -p 3001:3001 openspeedtest/latestversion: '3.3' services: speedtest: volumes: - '/Users/vishnu/Desktop/docker/:/etc/ssl/' restart: unless-stopped container_name: openspeedtest ports: - '3000:3000' - '3001:3001' image: openspeedtest/latest
集装箱港口配置
要启用端口更改,请将CHANGE_CONTAINER_PORTS环境变量设置为"True"并为以下变量提供适当的值。
CHANGE_CONTAINER_PORTS=True
HTTP_PORT=3000
HTTPS_PORT=3001
设置用户
SET_USER=101
仅允许
CORS Request来自列出的域名。
ALLOW_ONLY=domain1.com;domain2.com;domain3.com
SET_SERVER_NAME在界面上显示服务器名称。
SET_SERVER_NAME=HOME-NAS
Docker镜像在Linux平台上运行得更好,包括你的NAS。但是,如果你在macOS或Windows上安装Docker,你可能会看到性能不佳。我在Docker论坛上问过这个问题,他们告诉我macOS和Windows的支持仅用于开发目的。对于生产环境,你需要使用任何Linux平台。
同样的故事也适用于Windows NGINX。NGINX即使你指定了n个工作进程,也只会使用一个工作进程。它们会显示在任务管理器中,但系统只会使用一个。我直接从NGINX网站获得了这个信息。
您可以在家庭实验室、办公室服务器或云服务器上运行OpenSpeedTest Server。这样,您或在家工作的员工就可以进行速度测试,确保他们能够顺利进行所有工作。
在 ISP1 和 ISP2 之间选择。
有时在流行的测速网站上测试时,你的ISP2比ISP1更快。但当你连接到你的家庭/办公室/云时,那个较慢的连接可能表现得更好。唯一的办法是对你自己的基础设施进行测速。
排除网络问题。
即使您的互联网连接正常,这也是常见的。但是您网络中的某些设备可能无法获得良好的互联网连接。问题可能是错误的VLAN ID或故障的交换机。如果您运行本地网络速度测试,您可以轻松找到并解决这些问题。
在您添加重复器之前。
大多数中继器会将您的网络速度降低50%,因此如果您将其放置得离得太远,性能会最差,如果您将其放置得离得太近,当您运行局域网速度测试时,您将无法获得足够的覆盖范围。根据应用需求,您可以决定将中继器放置在确切的位置。
浏览体验。
有许多有用的浏览器扩展是我们众所周知和喜爱的。但其中一些扩展实际上会显著减慢浏览速度每当你访问一个网页时几秒钟。当你通过文件传输或命令行工具测试网络性能时,可能会看到良好的性能,但当你浏览互联网时,你可能会体验到性能不佳。这是由于糟糕的浏览器配置,包括安装了不需要的扩展。根据我的经验,只保留你每天都会使用的扩展。偶尔使用的扩展应被移除或禁用以获得最佳性能。如果你看到性能不佳,请尝试从私人窗口或隐身窗口中打开OpenSpeedTest。这个工具可以用来检查浏览器性能和扩展对你浏览体验的影响。
不需要客户端软件或插件。您可以使用任何设备上的 IE10 或更新版本的 Web 浏览器运行网络速度测试。
本文链接:https://kinber.cn/post/6495.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:













支付宝微信扫一扫,打赏作者吧~
