可复现性能测试

测试 VPS 性能,不要挑选最快的一次

有用的 VPS 基准测试应回答明确的工作负载问题,并提供足够的环境详情、命令、原始输出和时间信息,让其他人可以复现。一个没有说明的分数无法代表所有应用,也不能保证共享基础设施上的未来性能。

关键信息

最低发布单元
问题、环境、命令、时长、重复次数、日期和原始输出
比较规则
使用相同 VPS 配置、镜像、工具版本和测试时间窗口
如实汇总
保留较慢和失败的运行,报告中位数和波动
安全边界
限制资源使用,并遵守服务商和网络限制

从工作负载问题开始

先确定结果要帮助您做出什么选择。CPU 编译任务、延迟敏感型 API、事务数据库、顺序备份和多用户文件服务会给不同资源带来压力。选择访问模式接近实际工作负载的测试,并在看到结果前定义成功阈值,以减少只宣传最大数字的诱惑。

明确 VPS 套餐和区域、测试时长、并发、数据大小、读写比例、块大小、协议、远程端点和时间窗口。共享宿主机性能和互联网路由可能变化,因此基准测试只是特定条件下有日期的样本,而非永久保证。

  • 开始前写下决策目标和阈值。
  • 尽可能测试应用层事务。
  • 不要把无关分数合并成一个不透明评级。

记录足够信息以便复现

记录套餐、区域、开通时间、操作系统镜像、内核、CPU 展示信息、内存、交换空间、存储设备、文件系统、挂载选项、IP 地址族和基准工具版本。实用清单命令包括 lscpufree -hlsblkuname -r。发布记录前删除客户密钥和唯一标识符。

注明服务器是刚开通、已预热、刚调整大小,还是同时承载其他工作负载。以明确时区记录开始时间以及服务商维护。网络测试应说明两个端点、各自网络、方向、协议和相关速率限制。只有城市到城市的标签不足以复现。

  • 固定工具版本或保存软件包元数据。
  • 所有比较保持相同操作系统状态。
  • 公开重要例外情况,不要悄悄重跑。

运行有边界的 CPU、存储与网络测试

CPU 可使用 sysbench 等工具,并注明线程数和时长。存储方面,fio 可模拟顺序或随机访问、队列深度、块大小、直接 I/O、文件大小和读写比例;使用 --output-format=json 保存机器可读输出。测试文件应足以回答问题,并解释缓存影响,不要假装某种模式普遍正确。

网络容量测试中,iperf3 需要受控远程端点,并应限制速率与时长。相关时测试两个方向。ping 可采样往返时间和丢包,但应注明来源、目标、间隔、次数、地址族和路径条件。高强度测试可能影响邻近用户或触发限制,因此应先获许可,并在服务健康下降时停止。

  • 使用不承载客户工作负载的专用测试 VPS。
  • 发布比较至少重复同一流程五次。
  • 保留每次运行的命令输出、错误和退出状态。

展示波动,不要将其隐藏

检查每次运行是否存在错误、限速、内存压力、存储满载、后台活动或端点饱和。不要仅因结果不理想而删除较慢运行。若运行无效,应保留它、说明排除规则,并重新执行完整计划流程,而不是临时挑选替代值。

对重复行为报告中位数,并展示能反映变化的范围或百分位数。存储摘要除吞吐量或每秒操作数外还应包含延迟;网络摘要应包含丢包和端点限制。只比较配置实质等同的结果,并明确说明何时并不等同。

  • 区分无效运行和有效但较慢的运行。
  • 在每个数值旁标明单位和汇总方法。
  • 避免基于不可比环境作百分比声明。

同时发布方法、原始数据与限制

可信证据页面应链接带版本的方法、环境清单、准确命令、各个原始文件、摘要表、测试日期和负责审核人员。可行时使用稳定文件名和校验和。说明结果只描述被测样本,并可能因硬件分配、资源争用、路由、软件或服务商政策而变化。

基础设施或镜像发生重大变化后应安排重测,并以原始日期保留旧结果。更正应始终可见。VPSEverywhere.com 的透明度模板在包含示例值期间会被排除在索引外;只有通过既定核验流程的真实测量才能作为运营证据。

  • 在原始记录中公布失败和较慢的运行。
  • 为每次方法修订注明日期和版本。
  • 绝不补填实际未进行的测量。

来源

  1. fio 文档
  2. ESnet — iperf3 文档
  3. IETF RFC 2681 — IPPM 往返延迟指标
常见问题

常见问题

哪一种 VPS 基准测试最好?

没有单一最佳测试。应选择接近工作负载的测试并公布配置。应用层测量通常比一个合成分数更能回答购买问题。

应该公布多少次基准测试运行?

本方法要求比较时至少执行五次相同运行,并保留每个有效结果。波动较高或决策重要时可能需要更多样本。

为何公布中位数而不是最快结果?

最快结果会鼓励择优展示。中位数描述重复观测的中心,而范围或百分位数展示波动。两者都不保证未来性能。

可以在生产服务器上运行 `fio` 或 `iperf3` 吗?

避免在客户工作负载上进行干扰性测试。使用专用环境,限制时长与速率,遵守服务商规则,并核实远程端点已获授权且不是瓶颈。