下面我将为您详细讲解如何对虚拟云主机进行全面的测速。
1、选择测试节点:根据您的目标用户所在地,选择相应地域的测速节点,用户主要在中国大陆,就选择华东、华北、华南的节点;用户在欧洲,就选择法兰克福、伦敦等节点。
2、明确测试环境:
* 在云主机操作系统内部进行测试(测试云主机本身的极限性能)。
* 从您本地电脑向云主机发起测试(测试真实用户体验)。
3、关闭非必要进程:在测试期间,确保云主机上没有运行其他消耗大量带宽、CPU或磁盘的应用程序,以免影响结果准确性。
网络性能是云主机测速中最常见和最重要的部分。
从本地电脑测试(用户体验角度):
方法一使用在线测速工具(最简单)
* 在云主机上搭建一个简单的HTTP或FTP服务器,然后从您本地电脑使用浏览器或下载工具(如IDM)下载一个大文件(几百MB以上),观察下载速度。
缺点受您本地网络到云主机网络路径的影响,不一定能测出云主机的最大带宽。
方法二使用speedtest-cli(推荐)
* 这是一个命令行版的Speedtest,可以测试云主机到全球各地Speedtest节点的速度。
操作步骤
1. 登录您的云主机(Linux系统)。
2. 安装工具:sudo apt install speedtest-cli (Ubuntu/Debian) 或sudo yum install speedtest-cli (CentOS/RHEL),或者使用pip安装:pip install speedtest-cli。
3. 运行命令:speedtest-cli
解读结果
Download下载速度,这通常是最关键的指标。
Upload上传速度。
Ping延迟,单位是毫秒(ms),值越低越好。
在云主机内部测试(理论性能角度):
方法使用iperf3(专业、准确)
iperf3 是一个专业的网络性能测试工具,需要两台服务器一台作为服务端,一台作为客户端。
操作步骤
1.准备一台已知性能的参考服务器(比如另一台云主机或你本地电脑)。
2. 在参考服务器上启动服务端:iperf3 -s
3. 在待测云主机上作为客户端发起测试:iperf3 -c <参考服务器IP> -t 60 -P 8
-c指定服务端IP。
-t 60测试持续60秒。
-P 8使用8个并行线程,更容易跑满带宽。
解读结果结果中的sender 部分的Bitrate 就是你的云主机到参考服务器的带宽。
延迟和丢包率 (ping &mtr)
ping测试到某个IP的基础延迟和丢包。ping <目标IP或域名>
mtr结合了ping 和traceroute 的功能,能看清数据包经过的每一跳及其延迟和丢包情况,是排查网络问题的神器。
命令mtr -r -c 50 <目标IP或域名> (-c 50 表示发送50个包然后出报告)
去程和回程路由测试
* 使用besttrace 或nexttrace 等工具,查看从你的本地网络到云主机(去程),以及从云主机到你的本地网络(回程)所经过的网络线路,这对于判断是否是“直连”或“CN2 GIA”等优质线路非常有用。
磁盘性能直接影响网站/数据库的响应速度、文件读写效率。
1. 使用dd 命令(快速粗略测试)
测试写入速度
dd if=/dev/zero of=./testfile bs=1M count=1024 oflag=directif=/dev/zero输入文件,一个无限提供0的设备。
of=./testfile输出文件。
bs=1M每次读写1MB。
count=1024读写1024次,总共约1GB。
oflag=direct绕过缓存,直接写入磁盘,结果更真实。
解读结果命令执行完后会输出类似1.1 GB, 1.12345 s, 955 MB/s 的信息,最后的数字就是写入速度。
2. 使用fio 命令(专业、全面测试 - 强烈推荐)
fio 可以模拟各种读写场景,是业界标准。
安装sudo apt install fio 或sudo yum install fio
测试随机读写IOPS(4K块)
# 测试随机读IOPS
fio -filename=./testfile -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting -name=test
# 测试随机写IOPS
fio -filename=./testfile -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=60 -group_reporting -name=test解读结果重点关注iops 这个值,对于网站、数据库等随机读写多的应用,IOPS非常重要。
1. 使用UnixBench(通用系统性能基准测试)
UnixBench 是一个广泛的测试工具,它会运行一系列测试(文件复制、进程创建、脚本执行、数学运算等)并给出一个综合评分,方便在不同机器间对比。
安装和运行(以Linux为例)
# 下载
wget https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz
tar -zxvf v5.1.3.tar.gz
cd byte-unixbench-5.1.3/UnixBench/
# 编译
make
# 运行(单核心测试)
./Run
# 运行(多核心测试)
./Run -cnproc解读结果最后会输出一个Score,分数越高代表综合性能越强,可以和你已知的服务器分数进行对比。
2. 使用Geekbench(跨平台基准测试)
Geekbench 测试更现代的工作负载,包括加密、图像处理、机器学习等,并提供在线对比。
操作访问 Geekbench 官网下载对应的Linux版本,解压后运行即可,它会生成一个在线查看的链接。
1、分时段测试:网络在高峰期和低峰期性能可能有差异,建议在不同时间段进行测试。
2、多地点测试:从不同地区的服务器或本地网络向你的云主机发起测试,全面评估全球访问质量。
3、明确需求:根据你的应用类型选择侧重点。
网站/App侧重网络延迟、下载速度、磁盘随机读IOPS。
数据库侧重磁盘随机读写IOPS、内存和CPU性能。
视频处理/大数据侧重磁盘顺序读写速度、CPU多核性能、内存带宽。
4、使用脚本:网上有一些集成的测速脚本,可以一键运行多项测试,非常方便。
Bench.shwget -qO- bench.sh | bash (主要测试基础信息和网络)
SuperBench/LemonBench功能更全面,包含路由追踪等。
通过以上方法的组合使用,您就可以对一台虚拟云主机的性能有一个非常清晰和全面的认识,从而做出正确的选择或进行有效的优化。
文章摘自:https://idc.huochengrm.cn/zj/19586.html
评论