================================

最近有使用CrystalDiskMark给自己的硬盘做测速,发现有个名词自己不是很理解,就是像Q32T16这样的词:

在网上找了好久,都说Q32T16代表着16线程32队列,也有的说是16线程32队列深度,找了很多资料也没有哪个解释这个队列是个什么鬼。于是灵机一动搜索了一下其他的硬盘测速软件,还真发现了队列这个概念,从硬盘压力测试软件FIO中就有读写硬盘时的队列设置,相关资料:

https://blog.csdn.net/bandaoyu/article/details/113190057

上面这个资料比较详细的介绍了这个队列是什么,其实个人理解这个队列只有在进行磁盘的异步读写时才有用(磁盘的读写如果不经过内存的缓存直接写入磁盘还可以有异步的这种方式我也是头一次见到),由于进行异步方式的磁盘写入那么就需要有一个队列来存储操作系统发出的命令,否则发出命令的速度过快而磁盘处理的速度跟不上就会造成命令的过分堆积,而操作系统每次发出的磁盘读写命令都直接发送给磁盘执行又效率不高,因此就有了整个队列的存在。而这个队列具体的工作情况就是不断的接受操作系统发出的磁盘读写指令,操作系统发出指令后就回去继续执行,这样就成了异步的磁盘读写,而这个队列中的命令达到队列深度值时就会将队列中的所有磁盘读写命令发送给磁盘,然后队列再接着接受操作系统发出的指令;由于磁盘真正执行命令时是接收到了多个命令,因此磁盘可用根据这些命令进行排序得到一个更高效率的命令执行顺序。不过这个队列的设置也只有在异步读写磁盘的时候才有用,而且还是在磁盘写入操作不经缓存直接写盘的情况下,而且还是在进行大量读写操作并行的情况下(磁盘压力测试类似的情况),而且这个东西的设置可能主要还是对机械硬盘比较敏感。

不过个人感觉上面的这个队列的工作情况还是有些不太对(上面的描述主要还是来自上面给出资料中的),个人的观点是这个队列的工作情况还是要更加复杂一些,还有这个每次队列发送给磁盘的命令数也是不一定按照上面的描述来的,个人观点是这个每次发送的这一批命令可能是有个时钟周期的,每次发送的命令数也是有上限的,不过这个东西具体是如何工作的也还是主要靠个人的猜测。不过这个队列的设置是为了给异步并发多线程读写磁盘来服务的,这一点是确定的,如果读写操作的线程多那么设置大一些的队列深度可以更好的榨取出磁盘的性能表现(读写线程多的情况下应该把队列深度设置的大些,不过一般不超过32)。

回到之前说的Q32T16中的Q32就是指每次异步读写磁盘时以batch形式发送给磁盘的命令数为32,即队列深度为32,而这个队列的深度的设置更多的是为了磁盘压力测试的。

由于在对磁盘进行压力测试时,据说这个队列的深度还是比较重要的,因此我们在保证磁盘读写并行度的前提下(线程数固定),可以对这个队列深度进行调整,选出最好的磁盘读写情况下的队列深度,而此时的磁盘表现就可以作为真实的磁盘性能表现(在测试时对这个队列深度进行调整是可以的,并且这样测出的效果可能更真实,不过对于绝大部分情况下不考虑这个队列深度测出的结果也足够说明磁盘性能的了)。

===============================

相关:

http://blog.yufeng.info/archives/2104

http://home.eeworld.com.cn/my/space-uid-718016-blogid-361951.html

https://sata-io.org/developers/sata-ecosystem/native-command-queuing?language=zh-hans

https://www.cnblogs.com/jackydalong/p/3921948.html

https://blog.csdn.net/bandaoyu/article/details/121072279

硬盘测速工具中的队列深度是个什么东西——CrystalDiskMark中的Q32T16是什么意思的更多相关文章

  1. 详解hdparm: linux下的硬盘测速工具

    hdparm的功能:显示与设定硬盘的参数.hdparm可检测,显示与设定IDE或SCSI硬盘的参数. 语法: hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A & ...

  2. fio硬盘测速windows+linux

    一.FIO工具简介 Fio工具的介绍网上有很多,都是可以通用的,这里就不做太多个人描述了,直接借鉴一下 fio是一种I / O工具,用于基准测试和压力/硬件验证.它支持19种不同类型的I / O引擎( ...

  3. Linux下3种常用的网络测速工具

    大家好,我是良许. 不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生.本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络 ...

  4. Linux下hdparm硬盘测速

    在Linux下可以使用hdparm对硬盘进行测试或者查看硬盘的相关信息.这样你就知道了硬盘读写速度. Hdparm功能说明:显示与设定硬盘的参数. 语 法:hdparm [-CfghiIqtTvyYZ ...

  5. SSD硬盘测速较低的原因备忘

    SATA3 SSD测速度盘速度只有200MB/s,可能原因有: 原因分为几种:没开AHCI 没有4K对齐 虽然接的是SATA3接口但SATA3有分为3G和6G这些传输速度接口的分别,同理SATA线3G ...

  6. linux查看主板型号及内存硬件信息,及硬盘测速

    查看主板型号: sudo  dmidecode |grep -A16 "System Information$" 内存槽及内存条: sudo  dmidecode |grep -A ...

  7. vxworks下硬盘测速程序

    void speed(int buflen,int mod){/*int mod = 0;*/ int len=50; FILE *fp; unsigned int i=0,j=0,tmp,tmp2; ...

  8. linux测速工具 speedtest-cli

    安装speedtest-cli: wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/ ...

  9. Android自动化页面测速在美团的实践

    背景 随着移动互联网的快速发展,移动应用越来越注重用户体验.美团技术团队在开发过程中也非常注重提升移动应用的整体质量,其中很重要的一项内容就是页面的加载速度.如果发生冷启动时间过长.页面渲染时间过长. ...

  10. 网络损伤仪WANsim的队列深度功能

    什么是队列深度 在网络损伤仪WANsim中,队列是指一个用于缓存报文的缓冲池.深度是指缓冲池可以存储的最大数据量.当WANsim接受的报文超出了带宽限制的量时,溢出的报文会进入队列中. 我们可以在WA ...

随机推荐

  1. python 简单剖析及语法基础

    1.Python的应用领域 WEB开发 网络编程 爬虫 云计算 人工智能.数据分析 自动化运维  金融分析  科学运算  游戏开发 2.Python的发展前景 知乎上有一篇文章,问Python未来10 ...

  2. HTTP报文结构详解

    HTTP/HTTPS简介HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到 ...

  3. OpenCompass 作业

    Smiling & Weeping ---- 愿我们都做生活的高手 -- 昭阳&乐瑶

  4. 数据标注工具 doccano

    目录 安装 运行 doccano 使用 doccanno 上传数据 定义标签 添加成员 开始标注 导出数据 查看数据 统计 数据标注工具 Label-Studio 安装 打开命令行(cmd.termi ...

  5. Jenkins构建UI自动化项目,指定本地执行,没弹起浏览显示

    1. 原因分析 为什么执行web没有弹出浏览器,Jenkins日志显示正在执行中 jenkins是用windows installer 安装成 windows的服务了,那么启动windows后jenk ...

  6. bootstrap-sweetalert

    官网地址:http://lipis.github.io/bootstrap-sweetalert/ 模板样式 // 删除书籍,甜甜的警告 $('.bookdel').click(function () ...

  7. SpringBoot集成Mongodb文档数据库

    添加Maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  8. node.js 手稿

  9. IDEA社区版新建一个最简单的Spring工程(Spring框架搭建 01)

    创建Spring项目 IDEA打开New Project-Maven Archetype,选择Archetype:org.apache.maven.archetypes:maven-archetype ...

  10. 内部网关协议OSPF

    开放最短路径优先OSPF,开放表明OSPF不受某一厂商控制,最短路径优先是因为使用了最短路径算法SPF. OSPF最主要的特征是使用链路状态协议,而不是RIP的距离向量路由协议.其余特点: ⑴使用洪泛 ...