网速测试(speedtest)

说明

一般来说,网速测试指的是从家庭或公司通过电脑等设备访问互联网的速度,有很多可以用于测试互联网速度的网站,但本文所说的网速测试指的是特定客户端到服务器访问的网速测试。

在其它文章中我介绍了使用iperf3测试网速,iperf3也可以实现特定客户端到服务器的网速测试,与iperf3通过安装iperf3软件,然后执行命令进行测速的方式不同,本文将实现通过客户端浏览器访问服务器网站进行测速,通过浏览器的方式测速可以兼容更多客户端设备,只要有浏览器就可以进行测试,使用更简便。

iperf3测速参考:网速测试iperf3-CSDN博客

部署

本文所说的部署,主要是部署测速服务端,客户端只需要有浏览器即可

参考:https://github.com/librespeed/speedtest/blob/master/doc_docker.md

部署服务有两种方式
1、下载程序,使用apache进行部署
2、通过docker部署

本文主要介绍通过docker的方式进行部署,docker部署方式相对简单、快捷。

环境要求:
1、安装好docker的服务器

docker安装参考:ubuntu和centos安装docker-CSDN博客

部署命令:

# 拉取镜像
docker pull adolfintel/speedtest

# 运行容器
# --rm : 停止容器时删除容器
# -p 80:80 将本地的80端口映射到容器的80端口
docker run --rm -e MODE=standalone -p 80:80 -it adolfintel/speedtest

演示

本文以centos7系统进行演示,已安装好docker

服务端部署

# 启动docker服务
[root@192 ~]# systemctl start docker

# 查看docker镜像(已提前下载好所需要镜像)
[root@192 ~]# docker images
REPOSITORY             TAG       IMAGE ID       CREATED         SIZE
adolfintel/speedtest   latest    1bb6f28b9d23   21 months ago   439MB

# 拉取镜像(由于已提前下载好镜像,本次拉取镜像时没有下载文件的过程)
[root@192 ~]# docker pull adolfintel/speedtest
Using default tag: latest
latest: Pulling from adolfintel/speedtest
Digest: sha256:9716783d60e87a25e916869a73f0d2ccdc9d579e19820df6c98ef58052aca9c4
Status: Image is up to date for adolfintel/speedtest:latest
docker.io/adolfintel/speedtest:latest

# 运行容器
[root@192 ~]# docker run --rm -e MODE=standalone -p 80:80 -it adolfintel/speedtest
+ rm -rf '/var/www/html/*'
+ cp /speedtest/speedtest.js /speedtest/speedtest_worker.js /var/www/html/
+ cp /speedtest/favicon.ico /var/www/html/
+ '[' standalone == standalone ']'
+ cp -r /speedtest/backend/ /var/www/html/backend
+ '[' '!' -z '' ']'
+ '[' standalone == backend ']'
+ '[' standalone == frontend ']'
+ '[' standalone == standalone ']'
+ cp /speedtest/standalone.php /var/www/html/index.php
+ [[ false == \t\r\u\e ]]
+ chown -R www-data /var/www/html/backend /var/www/html/favicon.ico /var/www/html/index.php /var/www/html/speedtest.js /var/www/html/speedtest_worker.js
+ '[' 80 '!=' 80 ']'
+ echo 'Done, Starting APACHE'
Done, Starting APACHE
+ apache2-foreground
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Mon Oct 23 13:44:09.845702 2023] [mpm_prefork:notice] [pid 13] AH00163: Apache/2.4.38 (Debian) PHP/7.4.15 configured -- resuming normal operations
[Mon Oct 23 13:44:09.846002 2023] [core:notice] [pid 13] AH00094: Command line: 'apache2 -D FOREGROUND'

以上完成了服务器端的部署,下在我们从客户端通过浏览器访问服务器进行测速

地址:http://服务器ip

网速测试(speedtest)_第1张图片

点击start按钮进行测试,结果如下(本文使用虚拟机部署服务器,本地电脑作为客户端进行测试):

网速测试(speedtest)_第2张图片

总结

测速的方式多种多样,不同的场景所需要的方式可能不同,不同的方式也各有利弊,选择适合自己的方式进行测试就行。

内容导览:计算机网络基础、进阶、安全实践

你可能感兴趣的:(计算机网络,运维,服务器,运维,网络)