腾讯云硬盘性能指标及测试方法介绍
性能指标
衡量云硬盘产品的性能指标主要包括IOPS、吞吐量和访问时延。
IOPS(Input/Output Operations per Second)
IOPS指每秒能处理的I/O个数,表示云硬盘处理读写(输出/输入)的能力,单位为次。如果您需要部署事务密集型应用,例如数据库类应用等典型场景,需要关注IOPS性能。其中,只有挂载到I/O优化的云主机时,SSD云盘才能获得期望的IOPS性能。 常用的IOPS指标包括顺序操作和随机操作,如下表所示。
指标 |
描述 |
数据访问方式 |
总IOPS |
每秒执行的I/O操作总次数 |
对硬盘存储位置的不连续访问和连续访问 |
随机读IOPS |
每秒执行的随机读I/O操作的平均次数 |
对硬盘存储位置的不连续访问 |
随机写IOPS |
每秒执行的随机写I/O操作的平均次数 |
|
顺序读IOPS |
每秒执行的顺序读I/O操作的平均次数 |
对硬盘存储位置的连续访问 |
顺序写IOPS |
每秒执行的顺序写I/O操作的平均次数 |
吞吐量(Throughput)
吞吐量是指单位时间内可以成功传输的数据数量,单位为MB/s。如果您需要部署大量顺序读写的应用,例如Hadoop离线计算型业务等典型场景,需要关注吞吐量。
访问时延(Latency)
访问时延是指块存储处理一个I/O需要的时间,单位为s、ms或者μs。过高的时延会导致应用性能下降或报错。
如果您的应用对高时延比较敏感,例如数据库应用,建议您使用高性能型云盘类产品。
如果您的应用偏重数据吞吐能力,对时延相对不太敏感,例如Hadoop离线计算等吞吐密集型应用,建议您使用容量型或者性能优化型类产品。
容量(Capacity)
容量是指存储空间大小,单位为TiB、GiB、MiB或者KiB。云硬盘容量按照二进制单位计算,表示1024进位的数据大小,例如,1GiB=1024MiB。
容量无法衡量云硬盘性能,但对于存储设备而言,不同的容量能达到的性能不同。容量越大,存储设备的数据处理能力越强。相同类型云硬盘产品的单位容量的I/O性能均一致,但云盘性能随容量增长而线性增长,直至达到该类型云硬盘的单盘性能
云硬盘性能指标
参数 |
说明 |
Direct |
表示数据写是否经过缓存,0表示经过缓存,1表示不经过缓存 |
Iodepth |
表示测试时的每个线程的IO队列深度,即每个线程的IO并发数 |
Rw |
表示测试时的IO读写模式 |
read |
顺序读 |
write |
顺序写 |
randread |
随机读 |
randwrite |
随机写 |
randrw |
混合随机读和写 |
ioengine |
定义fio如何下发IO请求,通常有同步IO和异步IO: l 同步IO一次只能发出一个IO请求,等待内核完成后才返回。这样对于单个线程IO队列深度总是小于1,但是可以透过多个线程并发执行来解决。通常会用16~32个线程同时工作把IO队列深度塞满。 l 异步IO则通常使用libaio这样的方式一次提交一批IO 请求,然后等待一批的完成,减少交互的次数,会更有效率。
|
bs |
表示单次I/O的块文件大小 |
size |
表示测试文件的大小 |
numjobs |
表示测试线程数 |
runtime |
表示测试时长 |
group_reporting |
表示测试结果里汇总每个进程的统计信息,而非以不同job汇总展示信息。 |
filename |
表示测试文件的名称 |
name |
表示该测试任务名称,可随意定义 |