1、登录你的云主机:使用 SSH(Linux)或远程桌面(Windows)登录到你的云主机实例。
2、选择测速工具:根据你的需求,安装和使用不同的工具。
3、理解指标:
网络下载/上传速度(Mbps/Gbps)、延迟(Ping)、抖动(Jitter)。
磁盘读写速度(MB/s)、IOPS(每秒读写操作次数)、延迟(ms)。
综合CPU性能、内存带宽等。
网络测试主要分为国内速度和国际速度,以及去程和回程路由。
这些脚本集成了多个测试项目,非常适合快速全面了解主机性能。
常用一键脚本:
Bench.sh(最常用,侧重网络和基础信息)
wget -qO- bench.sh | bash # 或者 curl -Lso- bench.sh | bash
输出系统信息、I/O速度、国内三网(电信、联通、移动)下载速度、海外节点速度。
SuperBench/LemonBench(功能更强大,包含回程路由测试)
# SuperBench (Old) wget -qO- git.io/superbench.sh | bash # LemonBench (New, Recommended) curl -fsL https://ilemonra.in/LemonBenchIntl | bash -s fast
输出包含Bench.sh的内容,并增加全网路由回程测试(非常有用)。
YABS(适合测试海外主机,特别是磁盘IOPS和网络)
curl -sL yabs.sh | bash
输出磁盘I/O、Geekbench 5 CPU性能、网络速度(使用Speedtest.net节点)。
2. 使用 Speedtest.net 测试
这是最标准的网速测试方法,测试的是你云主机到 Speedtest 全球节点的速度。
安装speedtest-cli
# Ubuntu/Debian sudo apt install curl curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash sudo apt-get install speedtest # CentOS/RHEL curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh | sudo bash sudo yum install speedtest
运行测试
speedtest
* 这会自动选择一个最近的节点进行测试,你也可以使用speedtest -L
列出所有节点,然后用speedtest -s <节点ID>
指定节点测试。
这对于判断云主机到你的本地网络之间的线路走向、是否存在绕路或拥堵非常有用。
去程测试从你的本地电脑测试到云主机。
Windows打开命令提示符,输入tracert <你的云主机IP>
macOS/Linux打开终端,输入traceroute <你的云主机IP>
回程测试从云主机测试到你的本地公网IP(或一个目标IP,如8.8.8.8
)。
在云主机上运行
# 安装mtr sudo apt install mtr-tiny # Ubuntu/Debian sudo yum install mtr # CentOS/RHEL # 使用mtr测试(结合了ping和traceroute) mtr -r -c 10 <你的本地公网IP或目标IP>
-r
表示报告模式,-c 10
表示发送10个数据包。
磁盘性能对网站/数据库响应速度至关重要。
1. 使用dd
命令(简单粗略测试)
测试写入速度
# 写入一个1GB的文件,块大小1M dd if=/dev/zero of=./testfile bs=1M count=1024 oflag=direct
注意oflag=direct
用于绕过缓存,得到更真实的写入速度,测试完成后记得删除testfile
文件。
测试读取速度
# 清除缓存,然后读取刚才的文件 sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches" dd if=./testfile of=/dev/null bs=1M
2. 使用fio
命令(专业精确测试,推荐)
Fio 可以模拟各种负载,测试结果更可靠。
安装 fio
sudo apt install fio # Ubuntu/Debian sudo yum install fio # CentOS/RHEL
运行测试(混合读写,4K随机IO,这是数据库/Web服务器常见负载)
fio --name=test --filename=./fio_test.file --size=1G --readwrite=randrw --bs=4k --direct=1 --rwmixread=70 --iodepth=64 --runtime=60 --group_reporting
--rwmixread=70
70%读,30%写。
--bs=4k
块大小4K,模拟小文件操作。
--iodepth=64
IO队列深度,越高压力越大。
--direct=1
绕过缓存。
* 重点关注输出中的IOPS 和lat (延迟)。
如果你想与其他云主机进行横向对比,可以使用一些标准化测试。
UnixBench一个经典的类Unix系统(Linux、BSD)基准测试套件。
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh chmod +x unixbench.sh ./unixbench.sh
* 测试完成后会给出一个分数,分数越高代表性能越好。
1、分步进行:
第一步使用Bench.sh 或LemonBench 进行快速全面体检。
第二步如果网络不理想,使用mtr 进行回程路由分析。
第三步使用fio 对磁盘进行深入压力测试。
第四步(可选)使用UnixBench 或YABS中的Geekbench 进行综合性能评分。
2、多次测试:网络和磁盘性能可能会有波动,建议在不同时间段(如高峰和低谷期)多次测试取平均值。
3、选择正确的节点:使用Speedtest时,手动选择与你目标用户地理位置相近的节点进行测试,结果更有参考价值。
4、理解结果:
网络延迟低于50ms优秀,50-150ms良好,高于200ms可能较差。
磁盘IOPS普通云硬盘可能在几百IOPS,高性能SSD可达数千甚至数万IOPS。
磁盘延迟SSD通常应低于1ms,机械硬盘在10-20ms。
通过以上设置和方法,你可以全面、准确地评估你的虚拟云主机的性能表现。
文章摘自:https://idc.huochengrm.cn/zj/18008.html
评论