LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

diskspd:微软自己的磁盘性能测试工具

admin
2024年12月29日 18:50 本文热度 104
经常逛微软的 Github 仓库会发现很多好东西,比如这次介绍的 diskspd 命令行工具。

diskspd 是一款磁盘性能测试工具,Github 项目地址为:
https://github.com/microsoft/diskspd
在它的 Release 页面可以下载最新版本。
使用 diskspd 可以轻松将磁盘的性能跑满,从而测试磁盘的吞吐量、IOPS和延迟。
对于很多虚拟机、网络文件系统,比如 NAS 、iSCSI,它们并非真实的硬件。使用硬盘测速、SSD测速等硬件测速工具无法对其进行有效的测试。diskspd 可以通过读写文件的形式来测试真实系统的IO性能。
示例
diskspd -t2 -o32 -b4k -r4k -w0 -d120 -Sh -D -L -c100M test.io
以上例子对 C 盘下的 test.io 文件进行测试,起了两个测试线程,文件大小为 100M ,测试时间为 120s,最终测试报告如下:
报告解读
两个线程,每个IO吞吐量为400MB/s,一共800MB/s,IOPS为 200000,延迟为 0.027 ms
diskspd 的参数比较多,通过 diskspd /? 可以查看帮助文档。以上例子中用的的参数有:
-t2:这表示每个目标/测试文件的线程数。此数字通常基于 CPU 核心数。在本例中,使用两个线程来对所有 CPU 核心施加压力。-o32:这表示每个目标每个线程的未完成 I/O 请求数。这也称为队列深度,在本例中,使用 32 来强调 CPU。-b4K:这表示块大小(以字节、KiB、MiB 或 GiB 为单位)。在本例中,使用 4K 块大小来模拟随机 I/O 测试。-r4K:这表示随机 I/O 与指定大小(以字节、KiB、MiB、Gib 或块为单位)对齐(覆盖-s参数)。使用常见的 4K 字节大小与块大小正确对齐。-w0:指定写入请求操作的百分比(-w0 相当于 100% 读取)。在本例中,0% 写入用于进行简单测试。-d120:这指定了测试的持续时间,不包括冷却或预热时间。默认值为 10 秒,但我们建议对于任何严重的工作负载至少使用 60 秒。在本例中,使用了 120 秒来尽量减少任何异常值。-Suw:禁用软件和硬件写入缓存(相当于-Sh)。-D:以毫秒为间隔捕获 IOPS 统计数据,例如标准偏差(每个线程、每个目标)。-L:测量延迟统计数据。-c100M:设置测试中使用的样本文件大小。可以以字节、KiB、MiB、GiB 或块为单位进行设置。在本例中,使用了 100M 的目标文件。
diskspd /? 帮助文档中给出的例子:
Examples:
Create 8192KB file and run read test on it for 1 second:------------------------------------创建一个8192KB的文件,并对其运行1秒的read test
  diskspd -c8192K -d1 testfile.dat
Set block size to 4KB, create 2 threads per file, 32 overlapped (outstanding)I/O operations per thread, disable all caching mechanisms and run block-aligned randomaccess read test lasting 10 seconds:-------------------------------------------将块大小设置为4KB,每个文件创建2个线程,每个线程32个重叠I/O操作,禁用所有缓存机制并运行块对齐随机访问读取测试,持续10秒:
  diskspd -b4K -t2 -r -o32 -d10 -Sh testfile.dat
Create two 1GB files, set block size to 4KB, create 2 threads per file, affinitize threadsto CPUs 0 and 1 (each file will have threads affinitized to both CPUs) and run read testlasting 10 seconds:-----------------------------创建两个1GB的文件,将块大小设置为4KB,为每个文件创建2个线程,将线程关联到cpu 0和1(每个文件将有线程关联到两个cpu),并运行持续10秒的read测试:
  diskspd -c1G -b4K -t2 -d10 -a0,1 testfile1.dat testfile2.dat
最后对硬盘性能中的主要参数做个说明:

  • 吞吐量 Throughput
  • IOPS 每秒输入输出操作次数
  • 延迟 Latency


吞吐量 
“吞吐量”是一个比较容易理解的性能参数,与我们平时拷贝文件时看到的拷贝速度是一个意思。吞吐量越大代表拷贝大文件时的速度越快。
IOPS
与“吞吐量”相对应的是,IOPS代表对小文件的操作性能。IOPS是个频率,IOPS越高代表“手数”越快,也就是短时间内可操作的文件数越多。在处理海量小文件时,光统计文件数量这个操作对IOPS的要求就比较高。
延迟Latency
延迟代表着多任务排队时需要等待。一般实时程序、数据库对IO延迟比较敏感。并且 IOPS 越高并不代表着延迟越低,相反当IOPS提高时,延迟可能会增加。
总结
IOPS用于衡量存储设备能处理的I/O请求的频率,而延迟衡量每个I/O请求的响应速度。高IOPS并不一定意味着低延迟,反之亦然。高并发操作可能导致更高的延迟。
选择存储时,需要考虑使用场景,确定是更需要高IOPS(例如海量小文件操作),还是低延迟(例如数据库查询或实时处理)。
全文完。


阅读原文:原文链接


该文章在 2024/12/30 14:36:45 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved