性能与可靠性

如何对 VPS 进行基准测试?

简短回答

测量三个实际会变化的方面:用 sysbench 测单线程 CPU,用 fio 测 4K 随机读写磁盘,用 iperf3 对已知端点测网络。在不同时间段多次运行——单次基准测试测量的是那一分钟的状况,而不是服务器的整体表现。

磁盘是各提供上差异最大的地方,也是合成营销数字最没用的地方。用队列深度 1 测试 4K 随机 IOPS,这是数据库实际的工作方式,而不是顺序吞吐量,后者看起来令人印象深刻但预测不了什么。

在整个运行过程中监控 steal time。在凌晨 3 点看起来很好,但在晚上 8 点表现不佳的基准测试,告诉你的关于邻居的信息比硬件多。

  • sysbench cpu --cpu-max-prime=20000 run — single-thread performance
  • fio --name=rand --rw=randrw --bs=4k --iodepth=1 --size=1G --runtime=60
  • iperf3 -c a-known-endpoint — real throughput, not the advertised port speed
  • vmstat 1 during all of it — watch the st column

另见: IOPS

性能与可靠性领域的7个回答

返回所有答案