查看磁盘性能

合集下载

linux硬盘相关常用命令

linux硬盘相关常用命令

linux硬盘相关常用命令【原创版】目录1.硬盘分区命令2.查看硬盘分区信息命令3.查看硬盘使用情况命令4.磁盘格式化命令5.挂载/卸载硬盘分区命令6.磁盘性能测试命令7.硬盘错误检测与修复命令正文在 Linux 系统中,硬盘相关操作是日常维护和管理中不可或缺的一部分。

这里将为大家介绍一些常用的硬盘相关命令。

1.硬盘分区命令:分区是硬盘管理的第一步。

在 Linux 中,我们可以使用 fdisk 或者 cfdisk 命令进行硬盘分区。

这两个命令的操作方式类似,可以根据提示进行分区的创建、删除和修改。

2.查看硬盘分区信息命令:要查看硬盘分区的信息,可以使用 df 命令。

df 命令可以显示硬盘分区的详细信息,如分区大小、使用情况、挂载点等。

3.查看硬盘使用情况命令:除了 df 命令外,还可以使用 du 和 du -sh 命令查看硬盘的使用情况。

du 命令可以查看指定目录的磁盘使用情况,而 du -sh 命令则可以查看整个硬盘的使用情况。

4.磁盘格式化命令:磁盘格式化是硬盘管理的重要环节。

在 Linux 中,我们可以使用 mkfs 命令进行磁盘格式化。

mkfs 命令支持多种文件系统格式,如 ext3、ext4、xfs 等。

5.挂载/卸载硬盘分区命令:在Linux中,可以使用mount命令挂载硬盘分区,使用umount命令卸载硬盘分区。

这两个命令可以帮助我们灵活地管理硬盘分区。

6.磁盘性能测试命令:要测试硬盘的性能,可以使用 hdparm 命令。

hdparm 命令可以查看硬盘的详细信息,并进行性能测试。

7.硬盘错误检测与修复命令:硬盘在使用过程中可能会出现错误。

为了检测和修复硬盘错误,可以使用 fsck 命令。

fsck 命令可以自动检测硬盘错误并尝试修复。

以上就是一些常用的 Linux 硬盘相关命令。

euleros 格式化磁盘指令

euleros 格式化磁盘指令

euleros格式化磁盘指令在计算机系统中,磁盘是存储数据的重要设备之一。

磁盘的格式化是指对磁盘进行初始化,以便于存储数据和使用操作系统。

euleros是一个流行的操作系统,它提供了一系列的格式化磁盘指令,帮助用户对磁盘进行管理和维护。

本文将介绍euleros的格式化磁盘指令,帮助读者了解如何使用这些指令来管理磁盘。

一、查看磁盘信息在进行磁盘格式化之前,首先需要了解磁盘的相关信息。

euleros提供了一些命令来帮助用户查看磁盘的信息,包括磁盘的大小、分区信息等。

用户可以使用以下命令来查看磁盘信息:1. fdisk -l:这个命令可以列出系统中所有的磁盘信息,包括磁盘的名称、大小、分区情况等。

用户可以通过这个命令来了解系统中磁盘的整体情况。

2. df -h:这个命令可以列出系统中已挂载的文件系统的信息,包括文件系统的大小、已用空间、可用空间等。

用户可以通过这个命令来了解系统中已挂载的文件系统的情况。

二、格式化磁盘当用户了解了磁盘的相关信息之后,就可以对磁盘进行格式化操作了。

euleros提供了一些命令来帮助用户对磁盘进行格式化,包括创建文件系统、设置文件系统的参数等。

用户可以使用以下命令来格式化磁盘:1. mkfs.ext4:这个命令可以创建ext4文件系统,用户可以将其用于磁盘的格式化操作。

用户可以通过指定参数来设置文件系统的相关属性,比如inode大小、块大小等。

2. mkfs.xfs:这个命令可以创建xfs文件系统,用户可以将其用于磁盘的格式化操作。

用户可以通过指定参数来设置文件系统的相关属性,比如inode大小、块大小等。

三、挂载磁盘在格式化磁盘之后,用户还需要将其挂载到系统中,以便系统可以对其进行读写操作。

euleros提供了一些命令来帮助用户挂载磁盘,包括挂载点的设置、挂载参数的设置等。

用户可以使用以下命令来挂载磁盘:1. mount:这个命令可以将格式化好的磁盘挂载到指定的挂载点上。

centos查看硬盘信息的命令

centos查看硬盘信息的命令

centos查看硬盘信息的命令CentOS是一款流行的Linux操作系统,它支持多种硬件平台,包括PC、服务器、嵌入式设备等。

在CentOS中,查看硬盘信息是一个非常重要的任务,因为硬盘是存储数据的核心设备,对于系统的稳定性和性能有着重要的影响。

本文将介绍几种在CentOS中查看硬盘信息的命令。

1. fdisk命令fdisk是一个常用的磁盘分区工具,在CentOS中也可以用来查看硬盘信息。

使用fdisk命令需要root权限。

我们需要使用以下命令来列出系统中所有的硬盘设备:```# fdisk -l```该命令会列出系统中所有的硬盘设备的信息,包括硬盘的大小、分区情况等。

2. lsblk命令lsblk是一个列出系统中所有块设备的命令。

块设备是指可以被挂载的设备,包括硬盘、USB存储等。

使用lsblk命令需要root权限。

使用以下命令可以列出系统中所有块设备的信息:```# lsblk```该命令会列出系统中所有块设备的信息,包括设备名称、大小、挂载点等。

3. df命令df命令是一个列出文件系统使用情况的命令。

文件系统是指操作系统用来管理存储设备的一种机制。

使用df命令可以查看系统中每个文件系统的使用情况,包括剩余空间、已用空间等。

使用df命令不需要root权限。

使用以下命令可以列出系统中所有文件系统的使用情况:```# df -h```该命令会列出系统中所有文件系统的使用情况,包括文件系统的挂载点、总大小、已用空间、剩余空间等。

4. smartctl命令smartctl是一个用来检测硬盘健康状态的命令。

使用smartctl命令需要root权限。

使用以下命令可以检测系统中所有硬盘的健康状态:```# smartctl -a /dev/sda```该命令会检测/dev/sda硬盘的健康状态,并输出详细信息,包括硬盘温度、读写错误率、寿命预测等。

5. hdparm命令hdparm是一个用来检测硬盘性能的命令。

crystaldiskinfo参数

crystaldiskinfo参数

crystaldiskinfo参数CrystalDiskInfo是一款用于监测并评估硬盘驱动器和固态硬盘(SSD)的健康状态的软件。

它提供了丰富的参数和功能,可以帮助用户了解硬盘的性能和可靠性。

下面将详细介绍CrystalDiskInfo的参数及其功能。

1. 健康状态报告:CrystalDiskInfo可以读取硬盘的S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)数据,并将其转化为易于理解的健康状态报告。

通过查看该报告,用户可以了解硬盘的健康状况,包括各个关键指标的数值和状态。

这些指标包括温度、故障率、磁盘旋转速度、重新分配计数和使用寿命等。

2. 温度监测:CrystalDiskInfo可以读取硬盘的温度数据,并实时显示在界面上。

温度是硬盘正常工作的重要指标,过高或过低的温度都可能导致硬盘的性能下降或故障。

通过监测温度,用户可以及时采取措施,如增加散热设备或降低工作负载,以保持硬盘在适宜的温度范围内运行。

3. 故障率预测:CrystalDiskInfo可以根据硬盘的S.M.A.R.T.数据预测硬盘的故障率。

硬盘的故障率是硬盘是否能正常工作的重要指标,用户可以根据预测结果决定是否需要更换硬盘或备份数据。

通过故障率预测,用户可以提前采取措施,以避免硬盘故障导致数据丢失。

4. 磁盘旋转速度监测:对于传统的机械硬盘,旋转速度是影响其读写性能的关键因素之一、CrystalDiskInfo可以读取并实时显示硬盘的旋转速度,帮助用户了解硬盘的性能水平以及是否存在旋转速度不稳定或偏离标准的情况。

5. 重新分配计数监测:重新分配计数是指硬盘在发现坏道或软错时自动进行的一种操作,即将硬盘空闲区域中的数据重新分配到其他可用的区域。

CrystalDiskInfo可以读取并显示硬盘的重新分配计数,用户可以根据计数值判断硬盘的健康状态和使用寿命。

过高的重新分配计数可能表明硬盘存在坏道或软错的问题,应及时备份数据并考虑更换硬盘。

检查磁盘io方法

检查磁盘io方法

检查磁盘IO方法介绍在计算机系统中,磁盘IO是指计算机与磁盘设备之间的数据输入和输出操作。

通过检查磁盘IO方法,我们可以了解磁盘的性能状况,及时发现问题并进行优化,确保系统的高效运行。

为什么要检查磁盘IO方法?磁盘是计算机系统中的重要组成部分,它存储着大量的数据和操作系统。

良好的磁盘IO性能可以提高系统的响应速度和处理能力,而磁盘IO问题则可能严重影响系统的性能和稳定性。

因此,检查磁盘IO方法是非常重要的。

如何检查磁盘IO方法1. 使用操作系统自带的工具大多数操作系统都提供了一些工具来帮助我们检查磁盘IO方法。

例如,Windows系统中可以使用任务管理器、资源监视器或性能监视器;Linux系统中可以使用iostat、sar或iotop等工具。

这些工具可以实时展示磁盘的读写速度、队列长度、IO请求等信息,使我们能够迅速了解磁盘的性能状况。

2. 使用第三方工具除了操作系统自带的工具,还有许多第三方工具可以帮助我们更全面地检查磁盘IO方法。

例如,Windows系统下的CrystalDiskMark、HD Tune和Linux系统下的sysbench等工具都提供了更详细的磁盘性能测试和分析功能,可以针对不同的磁盘类型进行测试,并生成丰富的性能报告。

3. 执行基准测试基准测试是一种通过运行一系列测试用例来评估系统性能的方法。

在检查磁盘IO方法时,我们可以编写一些基准测试用例,包括顺序读写、随机读写、大文件传输等,通过测试结果来评估磁盘的性能。

这些测试用例可以模拟真实的应用场景,并提供详细的性能指标,帮助我们找出磁盘IO的瓶颈和问题。

检查磁盘IO方法时需要注意的问题1. 磁盘类型不同类型的磁盘(如机械硬盘、固态硬盘等)有着不同的性能特点,对于检查磁盘IO方法时需要注意选择合适的测试工具和测试用例,以便得出准确的结果和评估。

2. 测试环境为了得到准确可靠的结果,我们需要在与实际工作环境相似的测试环境中进行磁盘IO检查。

查看磁盘io状况的命令

查看磁盘io状况的命令

查看磁盘io状况的命令人们在使用电脑系统时,往往都会面对一些问题。

而磁盘I/O是其中一种问题,它指的是磁盘上每个字节的输入和输出(I/O)状态及磁盘的使用状况。

磁盘I/O的状况很重要,因为它可以指出一个系统是否有性能问题。

运行慢,可能是由于磁盘I/O的状况。

在这种情况下,我们需要查看磁盘IO的状况来分析系统的性能问题,以便及时解决。

为了查看磁盘IO的状况,我们可以使用很多不同的操作系统提供的命令。

比如,在Linux系统中,我们可以使用“iostat”命令来查看磁盘IO的状况。

它可以报告磁盘的分区数量,I/O部分的活动状况,平均磁盘时间,平均转换时间,最大转换时间等数据。

此外,在Unix系统中,我们可以使用“vmstat”命令查看磁盘IO的状况。

它可以报告磁盘IO活动次数,磁盘操作次数,平均转换时间,平均磁盘访问时间等数据。

在Windows系统中,我们可以使用“perfmon”命令查看磁盘IO 的状况。

它可以报告磁盘IO活动百分比,平均磁盘访问时间,读取和写入的活动次数等数据。

还有一些其他的命令可以查看磁盘IO的状况,比如“iotop”,它可以报告磁盘IO的活动,“iostat”,它可以报告磁盘IO的状况,“hdparm”,它可以报告磁盘的性能数据等等。

以上是我们可以用来查看磁盘IO的状况的命令。

每种命令都有不同的特点和功能,我们可以根据自己的需要来选择一种合适的命令进行查看磁盘IO的状况。

值得一提的是,查看磁盘IO状况不仅可以帮助我们分析系统的性能问题,还可以帮助我们实时监控磁盘IO的状况,以便我们可以及时采取措施来解决性能问题和磁盘IO的问题。

总之,查看磁盘IO的状况是非常重要的,其正确的使用可以帮助我们分析性能问题,并实时监控磁盘IO的状况,从而提高系统的性能。

我们可以使用系统提供的命令,比如“iostat”、“vmstat”、“perfmon”等,来查看磁盘IO的状况,从而更好地了解系统性能,并解决性能问题。

如何查看电脑配置信息

如何查看电脑配置信息

如何查看电脑配置信息查看电脑配置信息是了解电脑硬件和软件性能的重要方式之一。

在这篇文章中,我们将讨论如何通过简单的途径查看电脑配置信息。

无需担心,我会遵守您的要求,并且不会出现不符合要求的内容。

首先,我们来介绍一些查看电脑配置信息的方法。

在Windows系统中,我们可以通过以下方式进行查看。

1. 使用快捷键Win+R来打开“运行”对话框,在对话框中输入“dxdiag”然后按回车键。

这将打开“DirectX 诊断工具”,您可以在里面查看到有关电脑的配置信息,例如处理器型号、内存容量、操作系统版本等等。

2. 打开“控制面板”,可以在开始菜单中找到,然后选择“系统和安全”选项。

接下来,点击“系统”选项,您将看到有关电脑配置的详细信息,如处理器、内存和操作系统。

3. 另一个方法是通过打开任务管理器来查看电脑处理器的型号和性能。

您可以通过按下快捷键Ctrl+Shift+Esc来打开任务管理器。

然后,在任务管理器的“性能”选项卡中,您可以查看到有关CPU、内存和磁盘使用情况的信息。

除了Windows系统,苹果电脑也有一些简单的途径可以查看电脑配置信息。

以下是一些方法:1. 点击左上角的苹果图标,在下拉菜单中选择“关于本机”,这将打开一个新窗口,其中包含有关电脑配置的详细信息,如处理器、内存、图形卡等等。

2. 打开“应用程序”,选择“实用工具”文件夹,并在其中找到“系统信息”。

打开“系统信息”后,您可以在左侧面板中选择各种硬件组件以查看更多信息。

这些方法可以让您轻松地查询电脑配置信息。

无论是在Windows系统还是苹果电脑上,您都可以使用这些简单的步骤找到所需的信息。

查看电脑配置信息对于了解电脑性能和硬件状况非常重要。

通过查看配置信息,您可以知道您的电脑处理器的型号和速度,内存容量,操作系统版本等等。

如果您想玩一些高要求的游戏或者运行一些需要较高性能的软件,了解电脑的配置信息是必不可少的。

总结一下,本文介绍了在Windows系统和苹果电脑上查看电脑配置信息的简单方法。

硬盘检测工具HD_Tune使用教程

硬盘检测工具HD_Tune使用教程

HD Tune功能解读1:基准(磁盘性能)测试启动软件后,将首先会显示出硬盘的型号及当前的温度,默认显示为磁盘基本测试界面,在此用户可以通过点击“开始”按钮,对硬盘的读写性能进行检测,主要包括读取及写入数据时的传输速率、存储时间及对CPU 的占用等;并且,整个测试过程会持续几分钟,用户需要耐心等待。

注意:由于写入测试存在危险,希望用户慎重使用。

图2:HD Tune硬盘性能测试2:磁盘详细信息在信息标签页面,HD Tune不仅列出了当前硬盘各个分区的详细信息,还提供此硬盘所支持特性。

另外,在此画面还提供了硬盘的固件版本、序列号、容量、缓存大小以及当前的Ultra DMA模式等,可以说是非常详细。

图3:HD Tune硬盘分区信息及固件资料3:磁盘健康诊断在健康画面,HD Tune还对磁盘进行了全方面的体检,涉及了磁盘的各方面性能参数,并且都有详细的数值显示,如读取错误率、寻道错误率、写入错误率、温度、通电时间等等;可能很多性能参数用户不是很明白,但可以让用户对硬盘运行的真实状况大概有所了解。

图4:HD Tune磁盘健康诊断4:错误扫描测试在错误扫描测试页面,用户可以点击“开始”按钮,来检测磁盘是否存在损坏的扇区。

但用户要注意的是,如果没有勾选“快速扫描”选项,那么运行时间会比较长,所以建议用户勾选此选项来快速进行检测。

图5:HD Tune磁盘坏道扫描5:文件夹占用率文件夹占用率一看可能会用让用户感觉有点摸不着头脑,不知道是什么意思。

但其实很简单,点击“扫描”按钮,很快它将会检查出当前你的磁盘上所有存在的文件及目录状况,如当前硬盘上已有的文件及目录总数、每个文件夹的大小及当前已经使用的硬盘的总容量信息等等。

图6:HD Tune磁盘文件状况6:文件基准测试文件基准测试,主要是测试硬盘的缓冲性能及突发传输能力。

从下图测试中可以看出,小编的硬盘在以16MB的文件长度测试下,在64KB到2MB的文件分块情况下读取和写入的状态达到了顶峰。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

windows下如何查看磁盘IO性能2011-07-18 14:22:32| 分类:Windows | 标签:磁盘io |字号订阅通常,我们很容易观察到数据库服务器的内存和CPU压力。

但是对I/O压力没有直观的判断方法。

磁盘有两个重要的参数:Seek time、Rotational latency。

正常的I/O计数为:①1000/(Seek time+Rotational latency)*0.75,在此范围内属正常。

当达到85%的I/O计数以上时则基本认为已经存在I/O瓶劲。

理论情况下,磁盘的随机读计数为125、顺序读计数为225。

对于数据文件而言是随机读写,日志文件是顺序读写。

因此,数据文件建议存放于RAID5上,而日志文件存放于RAID10或RAID1中。

下面假设在有4块硬盘的RAID5中观察到的Physical Disk性能对象的部分值:Avg. Disk Queue Length 12Avg. Disk Sec/Read .035Avg. Disk Sec/Write .045Disk Reads/sec 320Disk Writes/sec 100Avg. Disk Queue Length,12/4=3,每块磁盘的平均队列建议不超过2。

Avg. Disk Sec/Read一般不要超过11~15ms。

Avg. Disk Sec/Write一般建议小于12ms。

从上面的结果,我们看到磁盘本身的I/O能力是满足我们的要求的,原因是因为有大量的请求才导致队列等待,这很可能是因为你的SQL语句导致大量的表扫描所致。

在进行优化后,如果还是不能达到要求,下面的公式可以帮助你计算使用几块硬盘可以满足这样的并发要求:Raid 0 -- I/Os per disk = (reads + writes) / number of disksRaid 1 -- I/Os per disk = [reads + (2 * writes)] / 2Raid 5 -- I/Os per disk = [reads + (4 * writes)] / number of disksRaid 10 -- I/Os per disk = [reads + (2 * writes)] / number of disks我们得到的结果是:(320+400)/4=180,这时你可以根据公式①来得到磁盘的正常I/O值。

假设现在正常I/O计数为125,为了达到这个结果:720/125=5.76。

就是说要用6块磁盘才能达到这样的要求。

但是上面的Disk Reads/sec和Disk Writes/sec是个很难正确估算的值。

因此只能在系统比较忙时,大概估算一个平均值,作为计算公式的依据。

另一个是你很难从客户那里得到Seek time、Rotational latency参数的值,这也只能用理论值125进行计算。

##########################################################################################前言作为一个数据库管理员,关注系统的性能是日常最重要的工作之一,而在所关注的各方面的性能只能IO性能却是最令人头痛的一块,面对着各种生涩的参数和令人眼花缭乱的新奇的术语,再加上存储厂商的忽悠,总是让我们有种云里雾里的感觉。

本系列文章试图从基本概念开始对磁盘存储相关的各种概念进行综合归纳,让大家能够对IO性能相关的基本概念,IO性能的监控和调整有个比较全面的了解。

在这一部分里我们先舍弃各种结构复杂的存储系统,直接研究一个单独的磁盘的性能问题,藉此了解各个衡量IO系统系能的各个指标以及之间的关系。

几个基本的概念在研究磁盘性能之前我们必须先了解磁盘的结构,以及工作原理。

不过在这里就不再重复说明了,关系硬盘结构和工作原理的信息可以参考维基百科上面的相关词条——Hard disk drive(英文)和硬盘驱动器(中文)。

读写IO(Read/Write IO)操作磁盘是用来给我们存取数据用的,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据时候对应的是写IO操作,取数据的时候对应的是是读IO操作。

单个IO操作当控制磁盘的控制器接到操作系统的读IO操作指令的时候,控制器就会给磁盘发出一个读数据的指令,并同时将要读取的数据块的地址传递给磁盘,然后磁盘会将读取到的数据传给控制器,并由控制器返回给操作系统,完成一个写IO的操作;同样的,一个写IO的操作也类似,控制器接到写的IO操作的指令和要写入的数据,并将其传递给磁盘,磁盘在数据写入完成之后将操作结果传递回控制器,再由控制器返回给操作系统,完成一个写IO的操作。

单个IO操作指的就是完成一个写IO或者是读IO的操作。

随机访问(Random Access)与连续访问(Sequential Access)随机访问指的是本次IO所给出的扇区地址和上次IO给出扇区地址相差比较大,这样的话磁头在两次IO操作之间需要作比较大的移动动作才能重新开始读/写数据。

相反的,如果当次IO 给出的扇区地址与上次IO结束的扇区地址一致或者是接近的话,那磁头就能很快的开始这次IO 操作,这样的多个IO操作称为连续访问。

因此尽管相邻的两次IO操作在同一时刻发出,但如果它们的请求的扇区地址相差很大的话也只能称为随机访问,而非连续访问。

顺序IO模式(Queue Mode)/并发IO模式(Burst Mode)磁盘控制器可能会一次对磁盘组发出一连串的IO命令,如果磁盘组一次只能执行一个IO 命令时称为顺序IO;当磁盘组能同时执行多个IO命令时,称为并发IO。

并发IO只能发生在由多个磁盘组成的磁盘组上,单块磁盘只能一次处理一个IO命令。

单个IO的大小(IO Chunk Size)熟悉数据库的人都会有这么一个概念,那就是数据库存储有个基本的块大小(Block Size),不管是SQL Server还是Oracle,默认的块大小都是8KB,就是数据库每次读写都是以8k为单位的。

那么对于数据库应用发出的固定8k大小的单次读写到了写磁盘这个层面会是怎么样的呢,就是对于读写磁盘来说单个IO操作操作数据的大小是多少呢,是不是也是一个固定的值?答案是不确定。

首先操作系统为了提高IO的性能而引入了文件系统缓存(File System Cache),系统会根据请求数据的情况将多个来自IO 的请求先放在缓存里面,然后再一次性的提交给磁盘,也就是说对于数据库发出的多个8K数据块的读操作有可能放在一个磁盘读IO里就处理了。

还有对于有些存储系统也是提供了缓存(Cache)的,接收到操作系统的IO请求之后也是会将多个操作系统的IO请求合并成一个来处理。

不管是操作系统层面的缓存还是磁盘控制器层面的缓存,目的都只有一个,提高数据读写的效率。

因此每次单独的IO操作大小都是不一样的,它主要取决于系统对于数据读写效率的判断。

当一次IO操作大小比较小的时候我们成为小的IO操作,比如说1K,4K,8K这样的;当一次IO 操作的数据量比较的的时候称为大IO操作,比如说32K,64K甚至更大。

在我们说到块大小(Block Size)的时候通常我们会接触到多个类似的概念,像我们上面提到的那个在数据库里面的数据最小的管理单位,Oralce称之为块(Block),大小一般为8K,SQL Server称之为页(Page),一般大小也为8k。

在文件系统里面我们也能碰到一个文件系统的块,在现在很多的Linux系统中都是4K(通过/usr/bin/time -v可以看到),它的作用其实跟数据库里面的块/页是一样的,都是为了方便数据的管理。

但是说到单次IO的大小,跟这些块的大小都是没有直接关系的,在英文里单次IO 大小通常被称为是IO Chunk Size,不会说成是IO Block Size的。

IOPS(IO per Second)IOPS,IO系统每秒所执行IO操作的次数,是一个重要的用来衡量系统IO能力的一个参数。

对于单个磁盘组成的IO系统来说,计算它的IOPS不是一件很难的事情,只要我们知道了系统完成一次IO所需要的时间的话我们就能推算出系统IOPS来。

现在我们就来推算一下磁盘的IOPS,假设磁盘的转速(Rotational Speed)为15K RPM,平均寻道时间为5ms,最大传输速率为40MB/s(这里将读写速度视为一样,实际会差别比较大)。

对于磁盘来说一个完整的IO操作是这样进行的:当控制器对磁盘发出一个IO操作命令的时候,磁盘的驱动臂(Actuator Arm)带读写磁头(Head)离开着陆区(Landing Zone,位于内圈没有数据的区域),移动到要操作的初始数据块所在的磁道(Track)的正上方,这个过程被称为寻址(Seeking),对应消耗的时间被称为寻址时间(Seek Time);但是找到对应磁道还不能马上读取数据,这时候磁头要等到磁盘盘片(Platter)旋转到初始数据块所在的扇区(Sector)落在读写磁头正上方的之后才能开始读取数据,在这个等待盘片旋转到可操作扇区的过程中消耗的时间称为旋转延时(Rotational Delay);接下来就随着盘片的旋转,磁头不断的读/写相应的数据块,直到完成这次IO所需要操作的全部数据,这个过程称为数据传送(Data Transfer),对应的时间称为传送时间(Transfer Time)。

完成这三个步骤之后一次IO操作也就完成了。

在我们看硬盘厂商的宣传单的时候我们经常能看到3个参数,分别是平均寻址时间、盘片旋转速度以及最大传送速度,这三个参数就可以提供给我们计算上述三个步骤的时间。

第一个寻址时间,考虑到被读写的数据可能在磁盘的任意一个磁道,既有可能在磁盘的最内圈(寻址时间最短),也可能在磁盘的最外圈(寻址时间最长),所以在计算中我们只考虑平均寻址时间,也就是磁盘参数中标明的那个平均寻址时间,这里就采用当前最多的10krmp硬盘的5ms。

第二个旋转延时,和寻址一样,当磁头定位到磁道之后有可能正好在要读写扇区之上,这时候是不需要额外额延时就可以立刻读写到数据,但是最坏的情况确实要磁盘旋转整整一圈之后磁头才能读取到数据,所以这里我们也考虑的是平均旋转延时,对于10krpm的磁盘就是(60s/15k)*(1/2) = 2ms。

第三个传送时间,磁盘参数提供我们的最大的传输速度,当然要达到这种速度是很有难度的,但是这个速度却是磁盘纯读写磁盘的速度,因此只要给定了单次IO的大小,我们就知道磁盘需要花费多少时间在数据传送上,这个时间就是IO Chunk Size / Max Transfer Rate。

相关文档
最新文档