http://www.manongjc.com/detail/59-qftscgqzitmxpaw.html

目录

一、腾讯云官网硬盘性能指标

二、使用fio测试硬盘性能指标

1. 测试工具相关

2. 单路随机读写时延测试

2.1测试硬盘的随机读时延

2.2测试硬盘的随机写时延

2.3测试硬盘的随机混合读写时延

3. 硬盘吞吐性能测试

3.1测试硬盘的顺序读吞吐性能

3.2测试硬盘的顺序写吞吐性能

3.3测试硬盘的顺序混合读写吞吐性能

4. 硬盘IOPS性能测试

4.1测试硬盘的随机读IOPS

4.2测试硬盘的随机写IOPS

4.3测试硬盘的随机混合读写IOPS

说明:

有关Windows磁盘性能压测,笔者还是强烈推荐使用微软自己开源的压测工具DiskSpd。当然,如果要使用其他磁盘性能压测工具也是可以的,比如:IOMeter(老牌经典)FIO(更适合Linux)等

一、腾讯云官网硬盘性能指标

https://cloud.tencent.com/document/product/362/2353

通常使用以下指标衡量云硬盘的性能:

IOPS:每秒读/写次数,单位为次(计数),存储设备的底层驱动类型决定了不同的 IOPS。

吞吐量:每秒的读写数据量,单位为MB/s。

时延:I/O 操作的发送时间到接收确认所经过的时间,单位为秒。

性能指标

增强型SSD云硬盘

SSD云硬盘

高性能云硬盘

单盘最大容量(GB)

32000

32000

32000

单盘最大 IOPS

100000

26000

6000

随机 IOPS 性能计算公式

基准性能:随机IOPS = min{1800 + 存储容量(GB)× 50,50000 } 额外性能:最大 IOPS = min{128 × 额外性能值,50000} 详情请参见增强型SSD云硬盘性能说明

随机 IOPS = min{1800 + 存储容量(GB)× 30,26000}

随机 IOPS = min{1800 + 存储容量(GB)× 8,6000}

单盘最大吞吐量(MB/s)

1000MB/s

260MB/s

150MB/s

吞吐性能计算公式(MB/s)

基准性能:吞吐 = min{120 + 存储容量(GB)× 0.5,350} 额外性能:吞吐 = min{1 × 额外性能值,650} 详情请参见增强型 SSD云硬盘性能说明

吞吐 = min{120 + 存储容量(GB)× 0.2,260}

吞吐 = min{100 + 存储容量(GB)× 0.15,150}

单路随机读写时延

0.3 - 1ms

0.5 - 3ms

0.8- 4ms

二、使用fio测试硬盘性能指标

1.测试工具相关

https://fio.readthedocs.io/en/latest/fio_doc.html

https://fio.readthedocs.io/en/latest/fio_doc.html#command-line-options

https://github.com/axboe/fio

参数名

说明

bs

每次请求的块大小。

ioengine

I/O 引擎。推荐Linux 用libaio,Windows用windowsaio。

iodepth

请求的I/O队列深度。

direct

指定 direct 模式。默认为 True(1)。 True(1)表示指定 O_DIRECT 标识符,忽略 I/O 缓存,数据直写。 False(0)表示不指定 O_DIRECT 标识符。

rw

读写模式。取值包括顺序读(read)、顺序写(write)、随机读(randread)、随机写(randwrite)、混合随机读写(randrw)和混合顺序读写(rw,readwrite)

time_based

指定采用时间模式。无需设置该参数值,只要 FIO 基于时间来运行。

runtime

指定测试时长,即 FIO 运行时长。

refill_buffers

FIO 将在每次提交时重新填充 I/O 缓冲区。默认设置是仅在初始时填充并重用该数据。

norandommap

在进行随机 I/O 时,FIO 将覆盖文件的每个块。若给出此参数,则将选择新的偏移量而不查看 I/O 历史记录。

randrepeat

随机序列是否可重复,默认为 True(1)。 True(1)表示随机序列可重复,False(0)表示随机序列不可重复。

group_reporting

多个 job 并发时,打印整个 group 的统计值。

name

job 的名称。

size

I/O 测试的寻址空间。

numjobs

同时测试的线程数量(这个值乘以上面的iodepth就是对磁盘产生的实际队列深度)

rwmixread

--rwmixread=0 这里读写比率是0,表示100%写,下面100%随机读测试中,这个值设置为100

thread

由于使用了多线程,这个参数必须加上

filename

测试对象,即待测试的磁盘设备名称。

注意,以下示例为测试1块500G高性能云硬盘的整体性能。

2.单路随机读写时延测试

注:通常Windows Server默认安装路径在C:Program Filesfio下面

bs=4k iodepth=1,随机读/写测试,能反映硬盘的时延性能

2.1测试硬盘的随机读时延

  .fio.exe -bs=4k -ioengine=windowsaio -iodepth=1 -numjobs=1 -direct=1 -rw=randread -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randread-lat -size=10G -filename="D:targetfile"
 

2.2测试硬盘的随机写时延

.fio.exe -bs=4k -ioengine=windowsaio -iodepth=1 -numjobs=1 -direct=1 -rw=randwrite -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randwrite-lat -size=10G -filename="D:targetfile"  
 

2.3测试硬盘的随机混合读写时延

  .fio.exe -bs=4k -ioengine=windowsaio -iodepth=1 -numjobs=1 -direct=1 -rw=randrw -rwmixread=50 -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randrw-lat -size=10G -filename="D:targetfile"
 

3.硬盘吞吐性能测试

bs=128k iodepth=32,顺序读/写测试,能反映硬盘的吞吐性能

3.1测试硬盘的顺序读吞吐性能

  .fio.exe -bs=128k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=read -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-read-throughput -size=10G -filename="D:targetfile"
 

3.2测试硬盘的顺序写吞吐性能

 .fio.exe -bs=128k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=write -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-write-throughput -size=10G -filename="D:targetfile" 
 

3.3测试硬盘的顺序混合读写吞吐性能

  .fio.exe -bs=128k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=readwrite -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-readwrite-throughput -size=10G -filename="D:targetfile"
 

4.测试硬盘的IOPS性能

bs=4k iodepth=32,随机读/写测试,能反映硬盘的IOPS性能

4.1测试硬盘的随机读IOPS

 .fio.exe -bs=4k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=randread -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randread-iops -size=10G -filename="D:targetfile" 
 

4.2测试硬盘的随机写IOPS

.fio.exe -bs=4k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=randwrite -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randwrite-iops -size=10G -filename="D:targetfile"  
 

4.3测试硬盘的随机混合读写IOPS

.fio.exe -bs=4k -ioengine=windowsaio -iodepth=32 -numjobs=1 -direct=1 -rw=randrw -thread -time_based -runtime=120 -refill_buffers -norandommap -randrepeat=0 -group_reporting -name=fio-randrw-iops -size=10G -filename="D:targetfile" 
 

截止目前,磁盘性能测试已基本结束。

总结:

不同测试工具测试结果难免略有偏差,但从以上测试结果来看,符合预期。

[转帖]Windows磁盘性能压测(2)-Fio的更多相关文章

  1. 性能压测诡异的Requests/second 响应刺尖问题

    最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码.debug.fixbug都逐渐收尾,进入上线前的性能压测. 虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数 ...

  2. windows下Jmeter压测端口占用问题(亲测有效)

    windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPT ...

  3. MySQL 性能压测工具-sysbench,从入门到自定义测试项

    sysbench是一个开源的.基于LuaJIT(LuaJIT 是 Lua 的即时编译器,可将代码直接翻译成机器码,性能比原生 lua 要高) 的.可自定义脚本的多线程基准测试工具,也是目前用得最多的 ...

  4. jmeter系列-如何实现像loadrunner一样,多个并发用户先通过登录初始化,然后做并发的接口性能压测

    自动转开发后,就很少关注性能测试方面的东西,最近在帮朋友做一个性能压测,由于朋友那边的公司比较小,环境比较简单,而且是对http服务进行的压测,所以最终 选用了jmeter来实现这个压测. 如下就是我 ...

  5. 性能压测,SQL查询异常

    早上测试对性能压测,发现取sequence服务大量超时报错,查询线上的监控SQL: 大量这个查询,我在DeviceID和Isdelete上建有复合索引,应该很快,而且我测试了一下,取值,执行效率很高, ...

  6. jmeter性能压测瓶颈排查-网络带宽

    问题: 有一台机器做性能压测的时候,无论开多少个线程,QPS一直压不上去,而服务器和数据库的性能指标(主要是CPU和内存)一直维持在很低的水平. 希望帮忙排查一下原因. 过去看了下进行压测的接口代码, ...

  7. 性能压测中的SLA,你知道吗?

    本文是<Performance Test Together>(简称PTT)系列专题分享的第6期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全 ...

  8. 并发模式与 RPS 模式之争,性能压测领域的星球大战

    本文是<如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全过程进行拆解,以帮助大家构建完整的性能压测的理论 ...

  9. [SCF+wetest+jmeter]简单云性能压测工具使用方案

    前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/pr ...

  10. 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选

    一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...

随机推荐

  1. 开源的代名词「GitHub 热点速览」

    当开发者谈论开源时,通常会想到 GitHub,它不仅仅是一个代码托管平台,更是一个汇聚了全球开发者的社交中心.过去,开发者发布一款软件后,都是在自己的小圈子里默默努力和交流,现在通过 GitHub 平 ...

  2. 在线编辑Word——插入公式

    在Word中可插入多种公式,用于满足于不同运算场景需求,从基本的运算符到大型的运算公式,我们可以根据文档内容的编排需要,任意插入所需公式.下面,介绍如何通过在线编辑Word的方式,向Word中插入公式 ...

  3. 万万没想到,我在夜市地摊解决了MySQL临时表空间难题~~

    都说"大隐隐于市,高手在深宫".突如其来的"摆地摊"风潮,让原本冷清的街道热闹非凡,也让众人发现了那些神龙见首不见尾的大神们. 这不,小毛在下班的途中就遇到了大 ...

  4. 实时媒体AI,打破内容创作天花板,加速视频创新

    摘要:互联网视频经过几代发展,用户体验快速升级,对创新玩法.互动性要求越来越高.那如何解决这些问题? 媒体AI,是行业共识.华为云提供云原生实时媒体AI能力,联合伙伴打造AI算法开放生态市场,加速视频 ...

  5. AI开发效率低,你可以试试华为NAIE AutoML

    摘要:为解决AI工程师在开发AI应用场景所遇到的问题,NAIE平台落地AutoML框架(工具)来辅助大家更高效.更迅速解决AI开发问题. 你是不是还在为掌握的AI算法少而烦恼? 你是不是还在为选择某个 ...

  6. 再谈P2P技术:网络拓扑结构、核心技术分析

    随着P2P应用的蓬勃发展,作为P2P应用中核心问题的发现技术除了遵循技术本身的逻辑以外,也受到某些技术的发展趋势.需求趋势的深刻影响. P2P协议概述 P2P打破了传统的Client/Server ( ...

  7. 如何注册appuploader账号​

    如何注册appuploader账号​ 我们上一篇讲到appuploader的下载安装,要想使用此软件呢,需要注册账号才能使用,今​ 天我们来讲下如何注册appuploader账号来使用软件.​ 1.A ...

  8. 十问ByteHouse:如何基于ClickHouse玩转向量检索?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 向量检索被广泛使用于以图搜图.内容推荐以及大模型推理等场景.随着业务升级与 AI 技术的广泛使用,用户期望处理的向 ...

  9. 火山引擎 DataLeap 构建Data Catalog系统的实践(二):技术与产品概览

    技术与产品概览 架构设计 元数据的接入 元数据接入支持T+1和近实时两种方式 上游系统:包括各类存储系统(比如Hive. Clickhouse等)和业务系统(比如数据开发平台.数据质量平台等) 中间层 ...

  10. 火山引擎 DataTester 智能发布平台:智能化 A/B 实验,助力产品快速迭代

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在互联网竞争炙热的红海时代,精益开发高效迭代越来越成为成为产品竞争的利器.产品迭代过程中,如何保障高效的功能迭代安 ...