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

 

本文章向大家介绍Windows磁盘性能压测(1)-DiskSpd,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

 

目录

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

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

1. DiskSpd工具介绍

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

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

1. DiskSpd工具介绍

https://github.com/microsoft/diskspd/releases 工具下载

https://github.com/Microsoft/diskspd 源码

https://github.com/Microsoft/diskspd/wiki/Command-line-and-parameters 参数

https://docs.microsoft.com/en-us/archive/blogs/josebda/diskspd-powershell-and-storage-performance-measuring-iops-throughput-and-latency-for-both-local-disks-and-smb-file-shares

最常用参数介绍:

参数名

说明

-b<size> [K|M|G]

表示块大小(以字节、KiB、MiB 或 GiB为单位),默认块大小为 64 KiB。

-c<size>[K|M|G|b]

设置测试中创建使用的示例文件大小。 可以按字节、KiB、MiB、GiB 或块进行设置。

-D<milliseconds>

捕获 IOPS 统计信息(例如标准偏差),时间间隔为毫秒[default=1000,1second]。

-d<seconds>

指定测试的持续时间,不包括冷却或预热时间。 默认值为 10 秒,但对于任何繁重的工作负荷,建议至少使用 60 秒。

-L

度量延迟统计信息。

-o<count>

表示每个线程的每个目标的未完成 I/O 请求数, 也称为队列深度。

-r<align>[K|M|G|b]

随机 I/O 对齐测试,默认值为4K,不加-r为顺序I/O测试。

-Suw

禁用软件和硬件写入缓存(等效于 -Sh)。

-t<count>

表示每个目标的线程数,默认是单线程。

-w<percentage>

指定属于写入请求操作的百分比(不写-w或-w或者-w0 等效于100%读取)。 如:-w25代表有25%的写,75%的读。

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

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

-b4k -o1,随机读/写测试,能反映硬盘的时延性能

2.1测试硬盘的随机读时延

.diskspd.exe -o1 -b4k –r4k -w0 -d120 -Sh -D -L -c10G D:targetfileIO.dat                  
 

2.2测试硬盘的随机写时延

.diskspd.exe -o1 -b4k -r4k -w100 -d120 -Sh -D -L -c10G D:targetfileIO.dat               
 

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

.diskspd.exe -o1 -b4k -r4k -w50 -d120 -Sh -D -L -c10G D:targetfileIO.dat                    
 

以上测试结果显示,平均延迟为0.717毫秒

3. 硬盘吞吐性能测试

-b128k -o32,顺序读/写测试,能反映硬盘的吞吐性能

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

.diskspd.exe -o32 -b128k -w0 -d120 -Sh -D -L -c10G D:targetfileIO.dat             
 

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

 .diskspd.exe -o32 -b128k -w100 -d120 -Sh -D -L -c10G D:targetfileIO.dat            
 

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

.diskspd.exe -o32 -b128k -w50 -d120 -Sh -D -L -c10G D:targetfileIO.dat             
 

以上测试结果显示,硬盘吞吐接近最大值150MB/s

4. 硬盘IOPS性能测试

-b4k -o32,随机读/写测试,能反映硬盘的IOPS性能

4.1测试硬盘的随机读IOPS

 .diskspd.exe -o32 -b4k -r4k -w0 -d120 -Sh -D -L -c10G D:targetfileIO.dat            
 

4.2测试硬盘的随机写IOPS

.diskspd.exe -o32 -b4k -r4k -w100 -d120 -Sh -D -L -c10G D:targetfileIO.dat             
 

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

 .diskspd.exe -o32 -b4k -r4k -w50 -d120 -Sh -D -L -c10G D:targetfileIO.dat             
 

以上测试结果显示,IOPS也符合预期5800(1800+500G*8)

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

总结:

不同测试工具测试结果难免略有偏差,但从以上测试结果来看,基本符合预期。另外,DiskSpd输出结果非常丰富,本文只是截取其中一部分关键测试结果用于展示。

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

  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. 【API 进阶之路】做 OCR 文字识别,谁说必须要有 AI 工程师?

    摘要:有些功能还真不能光凭自己的直觉和认识,来自一线的声音才是最真实的用户需求.比方说名片录入的需求. 在公司技术委员会副主席这个位置上干了有几个月了,期间,我一方面给研发团队整理各种文档资料,做技术 ...

  2. 转角遇上Volcano,看HPC如何应用在气象行业

    摘要:高性能计算(HPC)在各个领域都有广泛的应用.本文通过典型的HPC应用WRF,介绍了HPC应用在Kubernetes+Volcano上运行方式. Kubernetes已经成为云原生应用编排.管理 ...

  3. 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)

    摘要:本期将详细介绍社区版Redis.kvrocks和Pika到GaussDB(for Redis)的迁移 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第十期 ...

  4. 数据智能——DTCC2022!中国数据库技术大会即将开幕

    ​ 关注DTCC有几年了,还是在当中学到了很多的干货.今年我的大部分时间也都是投入在了数据治理的学习和数据治理工具的调研中.也非常渴望有这种机会去了解一下国内顶尖公司这方面的前沿技术与应用. DTCC ...

  5. Axure 绘制表格添加删除

    1.添加按钮:白底黑框,80X30,文本和命名均为"添加"; 2.数据表格(表头):1行5列,灰底黑框的表格作为表头,从左到右每个格子的文字分别为:姓名.性别.年龄.电话和操作: ...

  6. STM32CubeMX教程16 DAC - 输出3.3V内任意电压

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK ...

  7. Axure RP 9 下载、破解激活教程、最新激活码,亲测可用

    本教程适用于 Axure RP 9 Enterprise/Pro/Team 的激活.破解,最新激活码,适用于 windows, mac系统,仅用于学习 简介 Axure RP 9.0 破解版是一款功能 ...

  8. 揭秘2022冬奥黑科技,阿里云视频云「Cloud ME」如何实现全息会面?

    2022北京冬奥会本是一届非凡的存在,这是有史以来第一次将奥运会所需的全部核心系统全面上云,以数字化技术创造奥运的新纪元. 但绿色奥运不止如此,在面临 Covid-19 限制和物理隔阂之下,千里之外, ...

  9. L2-007 家庭房产 (25 分) (并查集)

    给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产: 编号 父 ...

  10. Zookeeper(3)---java客户端的使用

    前面介绍了zk指令的使用,这里说一下java客户端中怎么使用这些指令 <dependency> <groupId>org.apache.zookeeper</groupI ...