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. GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复

    本文分享自华为云社区<GeminiDB Cassandra接口新特性PITR发布:支持任意时间点恢复>,作者: GaussDB 数据库. 技术背景 当业务发生数据损毁.数据丢失.数据误删除 ...

  2. 理论+实践详解最热的LLM应用框架LangChain

    本文分享自华为云社区<LangChain是什么?LangChain的详细介绍和使用场景>,作者:码上开花_Lancer . 一.概念介绍 1.1 Langchain 是什么? 官方定义是: ...

  3. 加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源

    摘要:本文将探讨智能资源调度在华为云DevOps上的应用与实践. 本文分享自华为云社区<加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源>,作者: DevAI. 1. 背 ...

  4. Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试

    一.简介 今天是<Net 高级调试>的第十六篇文章,也是这个系列的最后一篇文章了.既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对<Net 高级调试>这本书 ...

  5. VMware NAT 模式 虚拟机网络电缆被拔出,连不上网

    检查服务 VMnetDHCP,VMware NAT Service 服务是否已启动,启动后可以正常使用网络

  6. MySQL 创建存储过程注意项

    MySQL server version for the  right syntax to use near 'IF' MySQL server version for the right synta ...

  7. Flutter如何有效地退出程序

    今天博主来谈一个开发Flutter App的小技巧--怎样有效地退出程序. 这种方法典型的应用场景就是用户许可协议的同意与否.从用户的角度讲,虽然大部分人都会无脑点击"同意",但我 ...

  8. 【快速阅读二】从OpenCv的代码中扣取泊松融合算子(Poisson Image Editing)并稍作优化

    泊松融合我自己写的第一版程序大概是2016年在某个小房间里折腾出来的,当时是用的迭代的方式,记得似乎效果不怎么样,没有达到论文的效果.前段时间又有网友问我有没有这方面的程序,我说Opencv已经有了, ...

  9. 【HZERO】消息发送

    消息发送 https://open.hand-china.com/community/detail/625843016338378752 新建模板 @Override public String sh ...

  10. Tomcat 优雅关闭之路

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/ZqkmoAR4JEYr0x0Suoq7QQ作者:马运杰 本文通过阅读Tomcat启动和关闭流程 ...