[转帖]Windows磁盘性能压测(1)-DiskSpd
http://www.manongjc.com/detail/59-xrydhtisrajqsxn.html
目录
一、腾讯云官网硬盘性能指标介绍
二、使用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 参数
最常用参数介绍:
|
参数名 |
说明 |
|---|---|
|
-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的更多相关文章
- 性能压测诡异的Requests/second 响应刺尖问题
最近一段时间都在忙着转java项目最后的冲刺,前期的coding翻代码.debug.fixbug都逐渐收尾,进入上线前的性能压测. 虽然不是大促前的性能压测要求,但是为了安全起见,需要摸个底心里有个数 ...
- windows下Jmeter压测端口占用问题(亲测有效)
windows下Jmeter压测端口占用问题 1 报错信息描述 压测的初期,在设置了 150qps/s 的并发数下压测几分钟后 Jmeter 就出现了如下报错. JAVA.NET.BINDEXCEPT ...
- MySQL 性能压测工具-sysbench,从入门到自定义测试项
sysbench是一个开源的.基于LuaJIT(LuaJIT 是 Lua 的即时编译器,可将代码直接翻译成机器码,性能比原生 lua 要高) 的.可自定义脚本的多线程基准测试工具,也是目前用得最多的 ...
- jmeter系列-如何实现像loadrunner一样,多个并发用户先通过登录初始化,然后做并发的接口性能压测
自动转开发后,就很少关注性能测试方面的东西,最近在帮朋友做一个性能压测,由于朋友那边的公司比较小,环境比较简单,而且是对http服务进行的压测,所以最终 选用了jmeter来实现这个压测. 如下就是我 ...
- 性能压测,SQL查询异常
早上测试对性能压测,发现取sequence服务大量超时报错,查询线上的监控SQL: 大量这个查询,我在DeviceID和Isdelete上建有复合索引,应该很快,而且我测试了一下,取值,执行效率很高, ...
- jmeter性能压测瓶颈排查-网络带宽
问题: 有一台机器做性能压测的时候,无论开多少个线程,QPS一直压不上去,而服务器和数据库的性能指标(主要是CPU和内存)一直维持在很低的水平. 希望帮忙排查一下原因. 过去看了下进行压测的接口代码, ...
- 性能压测中的SLA,你知道吗?
本文是<Performance Test Together>(简称PTT)系列专题分享的第6期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全 ...
- 并发模式与 RPS 模式之争,性能压测领域的星球大战
本文是<如何做好性能压测>系列专题分享的第四期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全过程进行拆解,以帮助大家构建完整的性能压测的理论 ...
- [SCF+wetest+jmeter]简单云性能压测工具使用方案
前言 压测太难?局域网压力无法判断服务器网络指标?无法产生非常大的并发量?云性能太贵? 也许我们可以把各种简单的工具拼起来进行压力测试! 准备 https://cloud.tencent.com/pr ...
- 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...
随机推荐
- 云图说 | 图解制品仓库服务CodeArts Artifact
本文分享自华为云社区<[云图说]第277期 图解制品仓库CodeArts Artifact>,作者:阅识风云. 制品仓库服务CodeArts Artifact用于存放源码编译生成的.可运行 ...
- 云图说|分钟级构建业务大屏——Astro大屏应用
本文分享自华为云社区<[云图说]第271期 Astro Canvas一站式数据可视化开发,分钟级构建业务大屏>,作者:阅识风云 . Astro大屏应用(Astro Canvas)是Astr ...
- 容器、Docker、虚拟机,别再傻傻分不清
摘要:容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源.尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知. 容器技术起源于Linux,是一种内核 ...
- 云图说|图解开天企业工作台MSSE
摘要:开天企业工作台是面向企业用户的一站式数字工作台. 本文分享自华为云社区<[开天aPaaS]图解开天企业工作台MSSE>,作者:开天aPaaS小助手. 开天企业工作台(MacroVer ...
- 什么?语音合成开源代码不会跑,follow me!
摘要:本文描述的深度神经网络模型结构:: Natural TTS synthesis by conditioning Wavenet on MEL spectogram predictions. 本文 ...
- 字节跳动基于 ClickHouse 优化实践之“查询优化器”
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 相信大家都对大名鼎鼎的 ClickHouse 有一定的了解了,它强大的数据分析性能让人印象深刻.但在字节大量生产使 ...
- 火山引擎 DataTester:如何用 A/B 测试做产品增长?
技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着如今越来越高的获客成本,用户拉新变得不再容易:而且由于获客成本的增高,让用户留存也变得更加重要.同时,一个产品的使 ...
- AtCoder Beginner Contest 163 (6/6)
比赛链接:Here AB水题, C - management 题意:给一棵 \(N(2\le N\le2e5)\) 个节点的有根树,求每个节点的儿子数. 思路:由于输入直接给的是每个节点的父节点,直 ...
- Codeforce:723A. The New Year: Meeting Friends (水题)
题意:有三个好朋友的家都住在x轴的不同坐标,问新年的时候三个朋友之间问候走的最短距离 max{(a,b,c)} - min{(a,b,c)} 即可 编译器由 VS2017 切换到VScode使用,纪念 ...
- Educational Round 95 (Div. 2) A - B题题解(A题数据连错3次,搞人心态中)
1418A. Buying Torches 这次A题,真心fo了(导致wa了我两次) 样例出错两次,数据出错一次. 讲一下我的思路吧. 首先先明确至少需要多少个棍.\(k\) 个火炬,至少需要$k ∗ ...