NVMe VPS 的 IOPS 和延迟 这些是衡量存储性能的关键指标,但仅凭NVMe标签并不能保证虚拟专用服务器(VPS)运行速度快。两款CPU、内存和NVMe容量相似的VPS套餐,在处理数据库或应用程序工作负载时,其表现可能大相径庭。.
这种差异通常取决于随机I/O性能、存储争用、队列深度以及延迟一致性。本指南将介绍如何使用fio对NVMe VPS存储进行基准测试、解读测试结果,并在购买前对比不同主机服务商。.

在 NVMe VPS 主机中,IOPS 和延迟分别指什么?
IOPS 衡量存储系统每秒完成的输入/输出操作次数。延迟衡量单次操作所需的时间。.
吞吐量通常以MB/s为单位,用于衡量单位时间内传输的数据量。这些指标反映了存储性能的不同方面。.
- IOPS: 对于涉及大量小型操作的数据库和工作负载而言,这一点非常重要。.
- 延迟: 这对应用程序的响应速度和交易完成至关重要。.
- 吞吐量: 适用于大文件传输、备份和顺序工作负载。.
- 尾部延迟: 展示了表现最差的操作会变得多么缓慢。.
即使是一台顺序吞吐量表现出色的VPS,在处理小规模随机写入时仍可能表现不佳。如需了解该技术的背景知识,请阅读我们的 NVMe VPS 与 SSD 性能对比指南.
为什么不同服务商的 NVMe VPS 性能存在差异
NVMe 是一种存储接口,并不保证提供专用的磁盘资源。虚拟机可能会共享物理磁盘、存储控制器或网络存储基础设施。.
性能取决于以下几个因素:
- 物理驱动器的生成与状态。.
- 本地 NVMe 与网络附加存储的对比。.
- 存储超额分配与相邻工作负载。.
- 虚拟机管理程序配置和虚拟磁盘驱动程序。.
- 服务商设定的 IOPS 或吞吐量限制。.
- 文件系统、缓存和应用程序的行为。.
对于正在比较的买家来说 VPS 托管服务商, ,已公布的存储规格应仅作为参考起点,而非持续性能的证明。.
如何使用 fio 对 NVMe VPS 存储进行基准测试
fio 是一款灵活的 Linux I/O 测试工具,可测量随机读取、随机写入、带宽以及延迟分布。.
在 Ubuntu 或 Debian 上,请使用以下命令进行安装:
sudo apt update
sudo apt install fio
在您要评估的文件系统上创建一个测试目录:
mkdir -p ~/vps-benchmark
cd ~/vps-benchmark
df -h .
请确保有足够的可用空间,并在维护窗口期间进行测试。基准测试可能会暂时影响共享同一存储空间的应用程序。.
测试 1:随机读取 IOPS
本示例使用 4 KB 的随机读取,队列深度为 16。它首先创建一个 1 GB 的测试文件,然后从该文件中读取数据。.
fio --name=prepare \
--filename=nvme-test.dat \
--rw=write --bs=1M --size=1G \
--direct=1 --ioengine=libaio \
--end_fsync=1
fio --name=randread \
--filename=nvme-test.dat \
--rw=randread --bs=4k \
--size=1G --direct=1 \
--ioengine=libaio --iodepth=16 \
--runtime=60 --time_based \
--group_reporting
请查看报告中的IOPS、带宽和完成延迟。输出结果中可能还包含百分位统计数据,这些数据可揭示异常缓慢的操作。.
测试 2:随机写入 IOPS
对可丢弃的基准测试文件运行一次单独的写入测试:
fio --name=randwrite \
--filename=nvme-test.dat \
--rw=randwrite --bs=4k \
--size=1G --direct=1 \
--ioengine=libaio --iodepth=16 \
--runtime=60 --time_based \
--group_reporting
随机写入可能会暴露存储配置、写入处理和资源争用方面的差异。切勿对生产环境中的块设备运行破坏性写入测试。.
测试完成后,请删除临时文件:
rm -f ~/vps-benchmark/nvme-test.dat
如何解读 NVMe VPS 基准测试结果
只有在延迟可接受且性能可预测的情况下,高 IOPS 才有实际意义。.
| 公制 | 检查内容 |
|---|---|
| 随机读取 IOPS | 小块样本的检索能力 |
| 随机写入 IOPS | 小块写入性能 |
| 平均延迟 | 典型操作完成时间 |
| p95 和 p99 潜伏期 | 最慢的操作与一致性 |
| 带宽 | 数据传输量 |
例如,一台假设的VPS,即使其IOPS为40,000,但如果延迟频繁出现峰值,其响应速度可能会比另一台能稳定提供30,000 IOPS的VPS感觉更慢。.
这些数据仅供参考,并非医疗服务提供者的实际测量结果。.
队列深度、块大小和缓存
基准测试设置可能会显著影响报告的性能数据。.
4 KB 的块大小更适合处理小型随机操作,而较大的块则更侧重于吞吐量。更大的队列深度可以提高总 IOPS,但也可能增加延迟。.
直接 I/O 可减少客机操作系统页面缓存的影响。不过,主机端的缓存和底层存储架构仍可能影响结果。.
为了进行有意义的比较,请确保文件系统、块大小、队列深度、运行时间和测试文件大小保持一致。.
请在一天中的不同时间重复进行测试。单次测试结果无法反映长期性能,也无法证明波动是由相邻租户造成的。.
您应该测试哪些 NVMe VPS 服务商?
只有在配置相似且位于可比地区的套餐之间进行服务商对比时,这种对比才最有参考价值。.
Evoxt
Evoxt 对于正在评估用于网站、开发和应用程序托管的VPS基础设施的买家而言,这是一个值得考虑的选择。请查看所选套餐的存储规格,并在部署后对其实际性能进行基准测试。.
Vultr
Vultr 提供适合评估对存储要求较高的应用程序的云基础设施选项。在将结果与传统VPS套餐进行比较之前,请确认所选实例系列的存储架构。.
Hostwinds
Hostwinds 对于 Linux VPS 工作负载而言,当存储性能、管理选项和支持需求影响采购决策时,值得进行比较。.
AlphaVPS
AlphaVPS 可以纳入以预算为导向的VPS候选名单。在进行性能测试之前,请核实具体套餐的存储技术、资源分配以及合理使用政策。.
不应仅凭广告中标榜的NVMe标签来对这些供应商进行排名。请对您计划实际使用的具体配置进行测试。.
NVMe VPS 在实际应用中的性能测试
不同的工作负载需要不同的存储特性。.
- MySQL 和 PostgreSQL: 随机I/O、写入延迟以及持久化事务行为都很重要。.
- WordPress 和 WooCommerce: 数据库查询和并发操作可能会导致存储延迟。.
- Docker 工作负载: 容器的启动、镜像提取以及应用程序的写入操作可能受益于响应式存储。.
- 备份服务器: 顺序吞吐量和可用容量可能比峰值随机IOPS更为重要。.
在做出数据库采购决策时,应将 NVMe 性能与 CPU 分配、内存及备份设计一并进行比较。存储速度无法弥补所有应用程序的瓶颈。.
如何选择性价比最高的 NVMe VPS
首先考虑应用程序的工作负载,然后将可量化的性能与整体托管成本进行对比。.
请查看服务提供商的退款政策或试用选项、存储限制、备份可用性以及迁移灵活性。请查阅我们的 廉价VPS服务商对比 以便进一步考虑预算问题。.
希望享受促销价格的买家还可以查看 经济实惠的云VPS优惠, ,同时确认广告中的折扣是否适用于所需的存储配置。.
常见问题解答
对于 NVMe VPS 来说,什么样的 IOPS 算好?
没有通用的阈值。合适的性能取决于块大小、队列深度、工作负载并发度以及延迟要求。.
NVMe 能否保证低延迟?
不。虚拟化、存储争用、缓存以及提供商的限制都可能影响实际观测到的延迟。.
fio 会损坏 VPS 吗?
大规模测试可能会导致应用程序中断,并消耗存储资源。请使用临时文件,避免直接使用生产环境中的原始设备,并遵守服务提供商的政策。.
我应该优先考虑 IOPS 还是延迟?
对于交互式数据库和事务密集型应用程序而言,延迟一致性往往与最大 IOPS 同样重要。.
最终裁决
NVMe VPS 的 IOPS 和延迟 应结合可重复的基准测试和实际应用需求,对它们进行综合评估。.
在选择服务商之前,请比较随机I/O、p99延迟、存储一致性以及总托管成本。最佳的NVMe VPS未必是广告中宣称硬盘速度最快的那个,而是能够为您的工作负载提供稳定可靠性能的那一个。.





