AIX系统磁盘IO性能评估
IO性能最重要的三个指标
最重要的三个指标IOPSIOPS即每秒钟处理的IO请求数量。
IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。
一块物理硬盘能提供多少IOPS>从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间(找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间(读取数据的时间和返回的时间)。
其中寻址时间是固定的(磁头定位到数据的存储的扇区即可),旋转时间受磁盘转速的影响,传输时间受数据量大小的影响和接口类型的影响(不用硬盘接口速度不同),但是在随机访问类业务中,他的时间也很少。
因此,在硬盘接口相同的情况下,IOPS主要受限于寻址时间和传输时间。
以一个15K的硬盘为例,寻址时间固定为4ms,传输时间为60s/15000*1/2=2ms,忽略传输时间。
1000ms/6ms=167 个IOPSOS的一次IO请求对应物理硬盘一个IO吗?在没有文件系统、没有VM (卷管理)、没有RAID没有存储设备的情况下,这个答案还是成立的。
但是当这么多中间层加进去以后,这个答案就不是这样了。
物理硬盘提供的IO是有限的,也是整个IO系统存在瓶颈的最大根源。
所以,如果一块硬盘不能提供,那么多块在一起并行处理,这不就行了吗?确实是这样的。
可以看到,越是高端的存储设备的cache越大,硬盘越多,一方面通过cache 异步处理IO,另一方面通过盘数增加,尽可能把一个OS的IO分布到不同硬盘上,从而提高性能。
文件系统则是在cache上会影响,而VM则可能是一个IO分布到多个不同设备上(Striping)。
所以,一个OS的10在经过多个中间层以后,发生在物理磁盘上的10是不确定的。
可能是一对一个,也可能一个对应多个。
IOPS能算出来吗?对单块磁盘的IOPS的计算没有没问题,但是当系统后面接的是一个存储系统时、考虑不同读写比例,IOPS则很难计算,而需要根据实际情况进行测试。
主要的因素有:o存储系统本身有自己的缓存。
AIX 5.3主机性能评估-磁盘的IO性能评估
AIX 5.3主机性能评估-磁盘的I/O性能评估磁盘的I/O性能评估对磁盘IO的性能考虑:1)将频繁访问的文件系统和裸设备应尽可能放置在不同的磁盘上。
2)在建立逻辑卷时尽可能使用mklv的命令开关给不同的文件系统和裸设备赋予不同的内策略。
3)使用磁盘设备驱动适配器的功能属性构建合适的RAID方式,以获得更高的数据安全性和存取性能。
一般考虑采用RAID5或者RAID10方式,对于写要求比较高的系统,一般建议采用RAID10方式;关于RAID10 与RAID 5的比较,可以见piner的文章,作为补充我会在后面贴出。
4)尽可能利用内存读写带宽远比直接磁盘I/O操作性能优越的特点,使频繁访问的文件或数据置于内存中进行操作处理;社区论坛在这里,顺带提一下裸设备以及文件系统的对比。
裸设备的优点:1)由于旁路了文件系统缓冲器而进行直接读写,从而具有更好的性能。
对硬盘的直接读写就意味着取消了硬盘与文件系统的同步需求。
这一点对于纯OLTP系统非常有用,因为在这种系统中,读写的随机性非常大以至于一旦数据被读写之后,它们在今后较长的一段时间内不会得到再次使用。
除了OLTP,raw设备还能够从以下几个方面改善DSS应用程序的性能:排序:对于DSS环境中大量存在的排序需求,raw设备所提供的直接写功能也非常有用,因为对临时表空间的写动作速度更快。
序列化访问:raw设备非常适合于序列化I/O动作。
同样地,DSS中常见的序列化I/O(表/索引的完全扫描)使得raw设备更加适用于这种应用程序。
2)直接读写,不需要经过OS级的缓存。
节约了内存资源,在一定程度上避免了内存的争用。
3)避免了操作系统的cache预读功能,减少了I/O。
4)采用裸设备避免了文件系统的开销。
比如维护I-node,空闲块等。
裸设备的缺点:1、裸设备的空间大小管理不灵活。
在放置裸设备的时候,需要预先规划好裸设备上的空间使用。
还应当保留一部分裸设备以应付突发情况。
测试磁盘IO速度的方法
测试磁盘IO速度的⽅法读取速度可以使⽤命令:hdparm –t 设备名(/dev/sda1)写⼊速度使⽤命令:time dd if=/dev/zero of=/tmp/test.dat bs=1G count=1测试磁盘的读写IO速度有时候我们在做维护的时候,总会遇到类似于IO特别⾼,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进⾏下⼀步的决策.下⾯是两种测试⽅法:(1)使⽤hdparm命令这是⼀个是⽤来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护⼈员 Mark Lord开发编写的( hdparm has been written by Mark Lord <>, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).该命令应该也是仅⽤于Linux系统,对于UNIX系统,ATA/IDE硬盘⽤的可能⽐较少,⼀般⼤型的系统都是使⽤磁盘阵列的.使⽤⽅法很简单# hdparm -Tt /dev/sda/dev/sda:Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/secTiming buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec可以看到,2秒钟读取了6676MB的缓存,约合3340.18 MB/sec;在3.11秒中读取了218MB磁盘(物理读),读取速度约合70.11 MB/sec(2)使⽤dd命令这不是⼀个专业的测试⼯具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使⽤来对磁盘的读写速度作⼀个简单的评估.另外由于这是⼀个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,dd⼯具⼀般都是⾸选.在使⽤前⾸先了解两个特殊设备/dev/null 伪设备,回收站.写该⽂件不会产⽣IO/dev/zero 伪设备,会产⽣空字符流,对它不会产⽣IO测试⽅法:a.测试磁盘的IO写速度# time dd if=/dev/zero of=/test.dbf bs=8k count=300000300000+0 records in300000+0 records out10.59s real 0.43s user 9.40s system# du -sm /test.dbf2347 /test.dbf可以看到,在10.59秒的时间⾥,⽣成2347M的⼀个⽂件,IO写的速度约为221.6MB/sec;当然这个速度可以多测试⼏遍取⼀个平均值,符合概率统计.b.测试磁盘的IO读速度# df -mFilesystem 1M-blocks Used Available Use% Mounted on/dev/mapper/VolGroup00-LogVol0019214 9545 8693 53% //dev/sda1 99 13 82 14% /bootnone 506 0 506 0% /dev/shm# time dd if=/dev/mapper/VolGroup00-LogVol00 of=/dev/null bs=8k2498560+0 records in2498560+0 records out247.99s real 1.92s user 48.64s system上⾯的试验在247.99秒的时间⾥读取了19214MB的⽂件,计算下来平均速度为77.48MB/secc.测试IO同时读和写的速度# time dd if=/dev/sda1 of=test.dbf bs=8k13048+1 records in13048+1 records out3.73s real 0.04s user 2.39s system# du -sm test.dbf103 test.dbf上⾯测试的数据量⽐较⼩,仅作为参考.相⽐两种⽅法:前者是linux上专业的测试IDE/ATA磁盘的⼯具,但是使⽤范围有局限性;(此试验仅仅使⽤了测试磁盘IO的参数,对于其他参数及解释参考man⼿册)后者可以通⽤,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威.。
aix topas解析
1. CPU 情况: topas 显示每个 CPU 核心的使用率,以及整个系统的 CPU 使用率。可以观察各个进程的 CPU 占用情况。
2. 内存使用情况: 显示物理内存、虚拟内存的使用供磁盘读写速率、等待情况、队列长度等指标,帮助识别 磁盘性能问题。
要深入了解 topas 的各种功能和选项,可以在终端上输入 topas 并查看相关帮 助信息。此外,IBM 官方文档也提供了更详细的 topas 使用指南,可供进一步 参考。
4. 网络流量: 显示网络接口的数据传输速率,有助于了解网络使用情况。 5. 进程列表: 列出当前正在运行的进程,包括 PID、CPU 使用率、内存
占用等信息。 6. 虚拟内存: 显示页面调度、虚拟内存使用情况。 7. 适配器信息: 显示网络适配器的状态和统计信息。
topas 的输出是实时更新的,可以通过按键来切换不同的视图和模式。例如,按 t 键可以切换到磁盘和 TTY(终端)视图,按 m 键可以切换到内存视图。
检查磁盘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检查。
iops正常值 -回复
iops正常值-回复IOPS正常值是什么?IOPS(Input/Output Operations Per Second)是衡量存储设备性能的重要指标之一。
它表示存储设备每秒钟能够完成的读写操作次数。
对于计算机系统来说,存储设备的IOPS性能直接影响着系统的响应速度和数据处理能力。
那么,IOPS的正常值是多少呢?答案并不是固定的,因为不同的存储设备类型和用途会有不同的IOPS要求。
一般来说,机械硬盘的IOPS性能相对较低,一般在几十到上百之间;固态硬盘(SSD)则可以达到几千到上万的IOPS,性能明显更好。
但需要注意的是,这些数值只是一般情况下的参考值,具体的IOPS水平还应该根据实际需求来判断。
那么,如何确定合适的IOPS值呢?首先,需要考虑的是存储设备的类型和用途。
如果是高性能服务器或需要频繁读写大量数据的应用场景,那么对于硬盘的IOPS要求会相对较高;而对于一般的个人电脑或办公场景,则可以适当降低IOPS的需求。
其次,还要结合实际的业务需求来确定IOPS的值。
根据应用程序的性质和工作负载的特点,可以进行一些测试和评估,以找出合适的IOPS水平。
比如,对于数据库应用程序来说,频繁的读写操作是常见的需求,因此需要较高的IOPS值;而对于文件服务器或文档处理应用来说,IOPS的要求可能会相对较低。
此外,还要考虑存储设备的容量和性能之间的平衡。
通常情况下,IOPS 的要求越高,存储设备的容量可能就越小,因为高性能的设备一般会采用更昂贵的技术和更高速度的存储介质。
另外,随着技术的不断进步和存储设备的发展,IOPS的正常值也在不断提升。
新一代的固态硬盘技术,比如NVMe(Non-Volatile Memory Express),可以提供更高的IOPS性能,满足更高的应用需求。
总结一下,确定合适的IOPS值需要综合考虑存储设备的类型、用途和实际业务需求。
没有统一的标准值,只能根据具体情况作出判断。
在选择和配置存储设备时,建议与专业的存储解决方案提供商进行详细沟通,以获得最符合需求的配置方案。
查看磁盘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的状况,从而更好地了解系统性能,并解决性能问题。
检查磁盘io方法
检查磁盘io方法检查磁盘IO方法磁盘IO是指磁盘与计算机之间的数据传输过程,通常包括读取和写入磁盘。
为了确保系统的正常运行,我们需要定期检查磁盘IO是否正常。
下面是一些方法来检查磁盘IO。
1. 使用Windows自带的性能监视器Windows自带了一个性能监视器工具,可以用来监测系统的各项性能指标,包括CPU、内存、网络和磁盘IO等。
使用该工具可以很方便地查看当前系统的磁盘IO情况。
步骤如下:(1)打开性能监视器:按下Win+R键,在弹出的运行窗口中输入“perfmon”并回车即可打开性能监视器。
(2)选择“性能监视器”:在左侧导航栏中选择“性能监视器”,然后在右侧窗口中点击“添加计数器”。
(3)选择计数器:在弹出的对话框中选择“物理磁盘”类别,然后选中以下三个计数器:- 瞬时数据读取速率- 瞬时数据写入速率- 平均响应时间点击“添加”按钮后即可将它们添加到列表中。
(4)开始监测:点击“应用”按钮即可开始监测磁盘IO情况。
在监测过程中,可以通过查看图表来判断磁盘IO是否正常。
2. 使用命令行工具除了性能监视器外,我们还可以使用命令行工具来检查磁盘IO。
Windows系统自带了一个名为“Perfmon”的命令行工具,可以用来监测系统的各项性能指标。
步骤如下:(1)打开命令提示符:按下Win+R键,在弹出的运行窗口中输入“cmd”并回车即可打开命令提示符窗口。
(2)输入命令:在命令提示符窗口中输入以下命令:perfmon /res然后按回车键即可打开性能监视器。
(3)选择计数器:在性能监视器中选择“物理磁盘”类别,并选中以下三个计数器:- 瞬时数据读取速率- 瞬时数据写入速率- 平均响应时间然后点击“添加”按钮即可将它们添加到列表中。
(4)开始监测:点击“应用”按钮即可开始监测磁盘IO情况。
在监测过程中,可以通过查看图表来判断磁盘IO是否正常。
总结以上就是检查磁盘IO的两种方法,大家可以根据自己的需要选择其中一种方法来检查磁盘IO。
磁盘性能评价指标—IOPS和吞吐量
磁盘性能评价指标—IOPS和吞吐量⼀、磁盘 I/O 的概念I/O 的概念,从字义来理解就是输⼊输出。
操作系统从上层到底层,各个层次之间均存在 I/O。
⽐如,CPU 有 I/O,内存有 I/O, VMM 有 I/O, 底层磁盘上也有 I/O,这是⼴义上的 I/O。
通常来讲,⼀个上层的 I/O 可能会产⽣针对磁盘的多个 I/O,也就是说,上层的 I/O 是稀疏的,下层的 I/O 是密集的。
磁盘的 I/O,顾名思义就是磁盘的输⼊输出。
输⼊指的是对磁盘写⼊数据,输出指的是从磁盘读出数据。
我们常见的磁盘类型有 ATA、SATA、FC、SCSI、SAS,如图1所⽰。
这⼏种磁盘中,服务器常⽤的是 SAS 和 FC 磁盘,⼀些⾼端存储也使⽤ SSD 盘。
每⼀种磁盘的性能是不⼀样的。
图 1. 物理磁盘的架构以及常见磁盘类型⼆、性能评价指标SAN(Storage Area Network, 存储区域⽹络)和NAS存储(Network Attached Storage,⽹络附加存储)⼀般都具备2个评价指标:IOPS和带宽(throughput),两个指标互相独⽴⼜相互关联。
体现存储系统性能的最主要指标是IOPS。
下⾯,将介绍⼀下这两个参数的含义。
IOPS (Input/Output Per Second)即每秒的输⼊输出量(或读写次数),是衡量磁盘性能的主要指标之⼀。
IOPS是指单位时间内系统能处理的I/O请求数量,I/O请求通常为读或写数据操作请求。
随机读写频繁的应⽤,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。
另⼀个重要指标是数据吞吐量(Throughput),指单位时间内可以成功传输的数据数量。
对于⼤量顺序读写的应⽤,如VOD(Video On Demand),则更关注吞吐量指标。
简⽽⾔之:磁盘的 IOPS,也就是在⼀秒内,磁盘进⾏多少次 I/O 读写。
磁盘的吞吐量,也就是每秒磁盘 I/O 的流量,即磁盘写⼊加上读出的数据的⼤⼩。
磁盘io使用率 iops
磁盘IO使用率IOPS1. 什么是磁盘IO使用率IOPS?磁盘IO使用率IOPS(Input/Output Operations Per Second)是衡量存储设备性能的指标之一。
它表示在一秒钟内,存储设备能够完成的输入输出操作的次数。
磁盘IO使用率IOPS反映了系统对于读写操作的响应速度和处理能力。
2. 磁盘IO使用率IOPS的重要性磁盘IO使用率IOPS对于系统性能至关重要。
较高的磁盘IO使用率意味着存储设备可以更快地处理数据请求,提高系统的响应速度和效率。
而较低的磁盘IO使用率可能导致系统响应变慢,甚至造成数据丢失或系统崩溃。
3. 影响磁盘IO使用率IOPS的因素3.1 存储设备类型不同类型的存储设备具有不同的性能特点。
传统机械硬盘(HDD)通常具有较低的磁盘IO使用率,而固态硬盘(SSD)则具有更高的磁盘IO使用率。
3.2 存储设备容量存储设备容量的大小也会对磁盘IO使用率产生影响。
较大容量的存储设备通常能够处理更多的IO请求,从而提高磁盘IO使用率。
3.3 文件系统文件系统的选择也会对磁盘IO使用率产生影响。
一些文件系统如NTFS、XFS等具有更好的性能优化,能够提高磁盘IO使用率。
3.4 IO请求类型不同类型的IO请求对磁盘IO使用率有不同的影响。
例如,随机读写操作通常比顺序读写操作具有更高的磁盘IO使用率。
3.5 系统负载系统负载也是影响磁盘IO使用率的重要因素之一。
当系统负载过高时,存储设备可能无法及时处理所有的IO请求,导致磁盘IO使用率下降。
4. 如何提高磁盘IO使用率IOPS?4.1 使用SSD替代HDD将传统机械硬盘(HDD)替换为固态硬盘(SSD)是提高磁盘IO使用率最直接有效的方法之一。
SSD具有更快的读写速度和更高的IOPS性能,可以显著提升系统响应速度。
4.2 增加存储设备容量增加存储设备的容量可以提高系统的存储能力,从而增加磁盘IO使用率。
当存储设备容量不足时,可以考虑扩展存储或者增加额外的存储设备。
磁盘io使用率 iops
磁盘IO使用率(IOPS)什么是磁盘IO?磁盘IO(Input/Output)是指计算机系统中,数据在磁盘和内存之间的读取和写入操作。
磁盘IO使用率则是指在一定时间内,系统对磁盘进行读写操作的频率。
常用的衡量指标是每秒I/O操作数(IOPS)。
IOPS的重要性IOPS是衡量磁盘性能的关键指标之一。
它直接影响到系统的响应速度和吞吐量。
高IOPS意味着更快的数据访问速度,能够提供更好的用户体验和更高的工作效率。
影响磁盘IO使用率的因素1. 硬件因素•硬盘类型:不同类型的硬盘(如机械硬盘、固态硬盘)具有不同的读写速度和IOPS能力。
•硬盘容量:较大容量的硬盘通常具有更高的IOPS能力。
•硬件接口:不同接口(如SATA、SAS、NVMe等)对于数据传输速度也有影响。
2. 软件因素•文件系统:不同文件系统对于磁盘IO操作有不同的优化策略,可能会影响磁盘IO使用率。
•数据访问模式:顺序读写和随机读写对于磁盘IO使用率有不同的影响。
•缓存机制:系统的缓存策略(如读写缓存、页面缓存)也会对磁盘IO产生影响。
3. 应用程序因素•并发访问:多个应用程序同时对磁盘进行读写操作,会增加磁盘IO使用率。
•数据压缩和加密:对数据进行压缩和加密操作通常需要更多的CPU资源和磁盘IO操作,可能导致较高的磁盘IO使用率。
如何监控和优化磁盘IO使用率?1. 监控工具•iostat命令:可以查看系统中每个硬盘设备的IOPS、吞吐量、响应时间等信息。
•sar命令:可以实时监控系统的IOPS、块设备利用率等指标。
•iotop命令:可以实时查看进程级别的磁盘IO使用情况。
2. 优化策略•使用高性能硬件:选择性能较好的硬盘类型和接口,提升磁盘IO能力。
•RAID配置:使用RAID技术可以提高磁盘的容错性和性能。
•文件系统优化:选择合适的文件系统,调整文件系统参数,如块大小、日志模式等。
•数据访问优化:合理设计数据访问模式,避免频繁的随机读写操作。
AIX系统CPU性能评估
1、vmstat使用vmstat 来进行性能评估,该命令可获得关于系统各种资源之间的相关性能的简要信息。
当然我们也主要用它来看CPU 的一个负载情况。
的一个负载情况。
下面是我们调用vmstat 命令的一个输出结果:命令的一个输出结果:$vmstat 1 2System configuration: lcpu=16 mem=23552MBkthr memory page faults cpu----- ----------- ------------------------ ----------------- -----------r b avm fre re pi po fr sr cy in sy cs us sy id wa0 0 3091988 2741152 0 0 0 0 0 0 1849 26129 4907 8 1 88 3 0 0 3091989 2741151 0 0 0 0 0 0 2527 32013 6561 15 2 77 6 对上面的命令解释如下:对上面的命令解释如下:Kthr 段显示内容¨ r 列表示可运行的内核线程平均数目,包括正在运行的线程和等待 CPU 的线程。
如果这个数字大于的线程。
如果这个数字大于 CPU CPU CPU 的数目,则表明有线程需要等待的数目,则表明有线程需要等待CPU CPU。
¨ ¨ b b 列表示处在非中断睡眠状态的进程数。
包括正在等待文件系统 I/O I/O 的的线程,或由于内存装入控制而被挂起的线程。
Memory 段显示内容¨ avm 列表示活动虚拟内存的页面数,每页一般4KB¨ fre 空闲的页面数,每页一般4KBPage 段显示内容¨ re –该列无效¨ re –该列无效¨ pi 从磁盘交换到内存的交换页pi 从磁盘交换到内存的交换页((调页空间调页空间))数量,数量,4KB/4KB/4KB/页。
最新AIX系统磁盘IO监控与评估汇总
A I X系统磁盘I O监控与评估AIX系统磁盘IO性能评估 (3)一, 对磁盘IO的性能考虑, 裸设备优缺点分析 (3)1.1 对磁盘IO的性能考虑 (3)1.2 裸设备的优点 (3)1.3 裸设备的缺点 (4)二, IOSTAT工具使用 (4)2.1 参数与用法 (4)2.2 iostat报告解析 (8)三, sar –d看 (9)四, 使用lslv –l lvname估逻辑卷的碎片情况 (10)五, 使用vmstat命令评估调页空间 (12)六, 使用filemon命令监控系统IO (13)6.1 filemon标记描述 (13)6.2 filemon报告解析 (14)七, 监视磁盘IO的小结 (15)AIX系统磁盘IO性能评估一, 对磁盘IO的性能考虑, 裸设备优缺点分析1.1 对磁盘IO的性能考虑1, 将频繁访问的文件系统和裸设备尽可能放置在不同的磁盘上.2, 在建立逻辑卷时尽可能使用mklv的命令开关给不同的文件系统和裸设备赋予不同的内策略.3, 使用磁盘设备驱动器的功能属性构建合适的RAID方式, 以获得更高的数据安全性和存取性能. 一般考虑采用RAID5或者RAID10的方式, 对于写要求比较高的系统, 一般建议采用RAID10方式.4, 尽可能利用内存读写带宽远比直接磁盘IO操作性能优越的特点, 使频繁访问的文件或数据置于内存中进行操作处理.1.2 裸设备的优点由于忽略了文件系统缓冲器而直接读写, 从而具有更好的性能. 对磁盘的直接读写就意味着取消了磁盘与文件系统的同步要求. 这一点对于纯OLTP系统非常有用, 因为在这种系统中, 读写的随机性非常大以至于一旦数据被读写之后,它们在以后的较长一段时间内不会得到再次使用. 除了OLTP, raw设备还能够从以下几个方面改善DSS应用程序性能.排序: 由于对临时表空间的写作数据更快, 所以对排序也有一定的好处.序列号访问: 比如对表,索引的完全扫描等序列化操作, 这种速度会更快.直接读写: 不需要经过OS级的缓存, 节约了内存资源, 在一定程度上避免了内存的争用.避免了OS的cache预读功能, 减少了IO.采用裸设备避免了文件系统的开销. 比如维护I-node, 空闲块等.1.3 裸设备的缺点1, 裸设备的空间管理不灵活, 需要预先规划好裸设备上的空间使用, 还应当保留一部分裸设备以应付突发情况. 这是对空间的浪费.2, 很多备份工具对裸设备的支持不足, 导致备份的操作方式比较原始, 麻烦.二, IOSTAT工具使用Iostat主要用来报告中央处理器(CPU)统计信息和整个系统, 适配器, tty设备,磁盘和CD-ROM的输入输出统计信息. Iostat的一个缺点是它不能对某个进程进行深入分析.仅对系统的整体情况进行分析.2.1 参数与用法iostat [ -s ] [ -a ] [ -d | -t ] [ -T ][ -m ][ PhysicalVolume ... ] [ Interval [ Count ] ]1. 其中-s为显示系统信息.# iostat -sSystem configuration: lcpu=4 drives=11 paths=2 vdisks=0tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 2.7 0.8 0.3 98.7 0.2System: i2dbKbps tps Kb_read Kb_wrtn200.7 4.6 1526558379 1603904240Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 0.3 3.0 0.6 20332313 27206892hdisk1 0.0 0.0 0.0 3157 0dac0 0.0 197.7 4.0 1506222909 1576697348 dac0utm 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0hdisk4 0.0 0.0 0.0 0 0hdisk5 0.7 197.7 4.0 1506222909 1576697348 hdisk6 0.0 0.0 0.0 0 0hdisk7 0.0 0.0 0.0 0 0cd0 0.0 0.0 0.0 0 02, -d标志不能和-t标志合用, 且仅仅显示磁盘使用率报告.# iostat -dSystem configuration: lcpu=4 drives=11 paths=2 vdisks=0Disks: % tm_act Kbps tps Kb_read Kb_wrtn hdisk0 0.3 3.0 0.6 20332317 27207032hdisk1 0.0 0.0 0.0 3157 0dac0 0.0 197.7 4.0 1506222913 1576700356 dac0utm 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0hdisk4 0.0 0.0 0.0 0 0hdisk5 0.7 197.7 4.0 1506222913 1576700356 hdisk6 0.0 0.0 0.0 0 0hdisk7 0.0 0.0 0.0 0 0cd0 0.0 0.0 0.0 0 03, -a 显示适配器吞吐量报告# iostat -aSystem configuration: lcpu=4 drives=11 paths=2 vdisks=0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 2.7 0.8 0.3 98.7 0.2Adapter: Kbps tps Kb_read Kb_wrtn sisscsia0 3.0 0.6 20335478 27207108Disks: % tm_act Kbps tps Kb_read Kb_wrtn hdisk0 0.3 3.0 0.6 20332321 27207108 hdisk1 0.0 0.0 0.0 3157 0 Adapter: Kbps tps Kb_read Kb_wrtnfcs0 197.7 4.0 1506222913 1576701580 Disks: % tm_act Kbps tps Kb_read Kb_wrtn dac0 0.0 197.7 4.0 1506222913 1576701580 hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0hdisk4 0.0 0.0 0.0 0 0hdisk5 0.7 197.7 4.0 1506222913 1576701580 hdisk6 0.0 0.0 0.0 0 0hdisk7 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnvsa0 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtndac0utm 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnide0 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtncd0 0.0 0.0 0.0 0 04, -t标记排除了-d标记且仅显示tty和cpu的用法报告# iostat -tSystem configuration: lcpu=4tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 2.7 0.8 0.3 98.7 0.25, -T 打印iostat输出的每一行边上的时间戳记,# iostat -TSystem configuration: lcpu=4 drives=11 paths=2 vdisks=0tty: tin tout avg-cpu: % user % sys % idle % iowait time0.0 2.7 0.8 0.3 98.7 0.2 11:44:48Disks: % tm_act Kbps tps Kb_read Kb_wrtn timehdisk0 0.3 3.0 0.6 20332325 27207328 11:44:48 hdisk1 0.0 0.0 0.0 3157 0 11:44:48dac0 0.0 197.7 4.0 1506222925 1576705176 11:44:48 dac0utm 0.0 0.0 0.0 0 0 11:44:48hdisk2 0.0 0.0 0.0 0 0 11:44:48hdisk3 0.0 0.0 0.0 0 0 11:44:48hdisk4 0.0 0.0 0.0 0 0 11:44:48hdisk5 0.7 197.7 4.0 1506222925 1576705176 11:44:48 hdisk6 0.0 0.0 0.0 0 0 11:44:48hdisk7 0.0 0.0 0.0 0 0 11:44:48cd0 0.0 0.0 0.0 0 0 11:44:482.2 iostat报告解析Iostat命令生成四种类型的报告, tty和cpu使用率报告, 磁盘使用率报告, 系统吞吐量报告和适配器吞吐量报告.1, tty和cpu使用率报告tty: tin tout avg-cpu: % user % sys % idle % iowait time0.0 2.7 0.8 0.3 98.7 0.2 11:44:48对于多处理器系统, cpu值是所有处理器的总平均. 同时, IO等待状态是系统级定义的, 而不是每个处理器.注释: tty是teletype的缩写.通常使用tty来简称各种类型的终端设备每过一定的时间间隔, 内核就更新这条信息(一般每秒六十次). Tty报告提供了从系统中所有终端收到的每秒字符数, 以及每秒输出到系统所有终端的字符的总数.2, 磁盘使用率报告这个报告提供了在每个物理磁盘上的统计信息.3, 系统吞吐量报告这个报告提供了针对系统的统计信息.4, 适配器吞吐量报告这个报告提供了针对适配器的统计信息.三, sar –d看搜集, 报告, 或者保存系统活动信息# sar -d 1 1AIX i2db 3 5 00CC886E4C00 07/10/09System configuration: lcpu=4 drives=1109:42:23 device %busy avque r+w/s Kbs/s avwait avserv 09:42:24 hdisk0 0 0.0 0 0 0.0 0.0hdisk1 0 0.0 0 0 0.0 0.0dac0 0 0.0 0 0 0.0 0.0dac0utm 0 0.0 0 0 0.0 0.0hdisk2 0 0.0 0 0 0.0 0.0hdisk3 0 0.0 0 0 0.0 0.0hdisk4 0 0.0 0 0 0.0 0.0hdisk5 0 0.0 0 0 0.0 0.0hdisk6 0 0.0 0 0 0.0 0.0hdisk7 0 0.0 0 0 0.0 0.0四, 使用lslv –l lvname估逻辑卷的碎片情况1,显示卷组列表:# lsvgrootvgrootvg1datavg2, 查看卷组的逻辑卷组成# lsvg -l datavgdatavg:LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT loglv00 jfs2log 1 1 1 open/syncd N/Afslv03 jfs2 720 720 1 open/syncd /oradata3, 显示某个逻辑卷的信息# lslv fslv03LOGICAL VOLUME: fslv03 VOLUME GROUP: datavgLV IDENTIFIER: 00cc886e00004c00000001153b9e95c7.2 PERMISSION: read/writeVG STATE: active/complete LV STATE: opened/syncdTYPE: jfs2 WRITE VERIFY: offMAX LPs: 720 PP SIZE: 128 megabyte(s)COPIES: 1 SCHED POLICY: parallelLPs: 720 PPs: 720STALE PPs: 0 BB POLICY: relocatableINTER-POLICY: minimum RELOCATABLE: yesINTRA-POLICY: middle UPPER BOUND: 32MOUNT POINT: /oradata LABEL: /oradataMIRROR WRITE CONSISTENCY: on/ACTIVEEACH LP COPY ON A SEPARATE PV ?: yesSerialize IO ?: NO4, 显示每个逻辑卷由哪些物理分区组成# lslv -m fslv03|headfslv03:/oradataLP PP1 PV1 PP2 PV2 PP3 PV30001 0162 hdisk50002 0163 hdisk50003 0164 hdisk50004 0165 hdisk50005 0166 hdisk50006 0167 hdisk50007 0168 hdisk50008 0169 hdisk55, 评估逻辑卷的碎片情况# lslv -l fslv03fslv03:/oradataPV COPIES IN BAND DISTRIBUTION对于该例中的结果说明:Copies显示逻辑卷fslv03只复制了一份.In Band显示了内策略是如何遵循的. 这个百分比越高, 分配效率就越好.Distribution显示, 逻辑卷fslv03总共有720个逻辑分区, 外部边缘(160), 外部中间(159), 中间(159), 内部中心(160),内部边缘(182). In band = 159/720 = 22%.6, 查看卷组的物理卷组成# lsvg -p datavgdatavg:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk5 active 799 78 00..00..00..00..78五, 使用vmstat命令评估调页空间# vmstat -s293967066 total address trans. Faults: 地址翻译错误, 每次发生地址转换页面故障时增加.383887108 page ins: 入页: 随虚拟内存管理器读入的每页增加. 计数随调页空间和文件空间的入页增加. 它和出页统计信息一起表示实际IO总量. 398373792 page outs4197657 paging space page ins: 调页空间入页, 只随VMM启动的来自调页空间的入页而增加.4351404 paging space page outs0 total reclaims237662205 zero filled pages faults222070 executable filled pages faults1399248325 pages examined by clock1487 revolutions of the clock hand518506491 pages freed by the clock4249427 backtracks420362 free frame waits0 extend XPT waits16247685 pending I/O waits782289679 start I/Os69941471 iodones3375131147 cpu context switches381625154 device interrupts814614929 software interrupts2805794153 decrementer interrupts410037 mpc-sent interrupts410037 mpc-receive interrupts1677224 phantom interrupts0 traps24457805147 syscalls六, 使用filemon命令监控系统IO监视文件系统的性能, 并且报告代表逻辑文件, 虚拟内存段, 逻辑卷和物理卷的IO活动.filemon [ -d ] [ -i Trace_File -n Gennames_File] [ -o File] [ -O Levels] [ -P ] [ -T n] [ -u ] [ -v ]6.1 filemon标记描述-I-o file 写IO活动报告到指定的File, 而不是到stdout文件.-d 启动filemon命令, 但是一直推迟跟踪直到用户执行trcon命令. 默认立刻启动. -T n 设置内核的跟踪缓冲区大小为n字节. 缺省值32000字节.-O levels 只监控指定的文件系统级别. 有效的级别标识是Lf 逻辑文件级别Vm 虚拟内存级别Lv 逻辑卷级别Pv 物理卷级别All lf,vm,lv,pv的简单表示6.2 filemon报告解析1,最活动的文件报告2,最活动的段报告3,最活动的逻辑卷报告3,最活动的物理卷报告七, 监视磁盘IO的小结一般来说, 高的%iowait表明系统存在一个应用程序问题, 缺少内存问题或低效的IO子系统配置. 例如, 应用程序的问题可能是由于过多的IO请求而不是处理许多数据. 理解IO瓶颈并且要清楚解决瓶颈问题的关键在于提高IO子系统的效率. 一些典型的解决方案可能包括.1, 限制在特定的物理盘上活动逻辑卷和文件系统的数目. 该方法是为了在所有的物理磁盘驱动器中平衡文件IO.2, 在多个物理磁盘间展开逻辑卷. 该方法在当有一些不同的文件被存取时特别有用.3, 为一个卷组创建多个 Journaled 文件系统(JFS)日志并且把它们分配到特定的文件系统中(最好在快速写高速缓存驱动器中)。
Aix性能分析及优化
aix性能分析一、分析CPU。
检查usr% + sys%是否大于90% 。
可使用Nmon,vmstat ,topas,sar命令,以nmon工具为例系统输入nmon命令,如下输入h 进入主菜单输入C (c = CPU by processor), 查看CPU运行状态如上图,这里我们可以清晰看到user% ,sys% 所占用的CPU资源。
上图为测试机,没有运行任何应用,状态良好。
如果CPU有IO wait ,说明内存或IO 存在瓶颈,下面内存分析部分,和IO分析部分会讲到。
Tips:如CPU资源占用较高,可以用topas命令(user% ,sys%也可以用该命令直接查看)查看CPU的进程,检查哪个进程占用CPU资源较高,分析是否合理,为业务所用。
然后得出结论然后再决定是否需要进行参数调试其它参数,扩充CPU等方案。
二、分析内存。
根据实际情况判断内存占用是否合理。
判断系统是否有计算页面调入现象,判断换页空间是否持续增高。
nmon主菜单输入m (m = Memory & Paging),查看内存运行状态在观察一段时间后,上图内存大小为7072MB (8G), 可以空间% Free 为78.2% 比较充裕。
Paging Space In 为0 ,PageSpace %used 为1.6% ,无持续增高现象。
检查是否有内存泄漏,使用命令svmon –P 进程ID ,记录“work process private”项对应的值。
间隔一会重复运行上面的命令,比较“work process private ” 的值是否明显增大,如有则可能有内存泄漏问题。
接下来找出对应的应用,进行更新或安装补丁解决。
如依旧无法解决,联系应用厂商咨询解决。
Tips:如内存占用较高,可以用svmon -Pns 命令详细查看占用内存资源较大、异常的进程,分析是否合理,是否需要扩充物理内存三、I O 分析。
a. 判断系统是否有I O wait ,如果有系统有可能有I O性能问题。
磁盘io使用率 iops
磁盘io使用率iops什么是磁盘IO使用率和IOPS?磁盘IO使用率和IOPS是衡量计算机系统磁盘性能的两个重要指标。
磁盘IO使用率指的是磁盘在特定时间内处理IO请求的能力,通常用百分比表示,越高表示磁盘负载越重,处理IO请求的效率越低。
IOPS(Input/Output Operations Per Second)则是衡量磁盘每秒处理的IO 请求的数量,是一个更具体的指标。
为何关注磁盘IO使用率和IOPS?磁盘IO使用率和IOPS是评估计算机系统磁盘性能的关键指标,我们需要关注它们的原因有以下几点。
首先,磁盘IO使用率和IOPS的高低影响计算机系统的整体性能。
当磁盘的IO使用率高或者IOPS低时,系统的繁忙程度越高,可能导致系统响应变慢甚至无响应。
因此,通过监测和优化磁盘IO使用率和IOPS,可以提高系统的响应速度和性能。
其次,磁盘IO使用率和IOPS的高低与系统的稳定性和可靠性密切相关。
当磁盘的IO使用率过高或IOPS过低时,可能导致磁盘过热、响应延迟增加、数据丢失等问题。
因此,关注磁盘IO使用率和IOPS可以帮助我们及时发现和解决磁盘性能问题,提高系统的稳定性和可靠性。
最后,磁盘IO使用率和IOPS的优化可以降低系统的能耗。
当磁盘的IO 使用率和IOPS较高时,磁盘处于高负载状态,需要消耗更多的能量。
通过降低磁盘IO使用率和IOPS,可以减少系统的能耗,提高能源利用效率。
如何监测磁盘IO使用率和IOPS?要监测磁盘IO使用率和IOPS,我们可以使用多种工具和方法。
首先,可以使用操作系统自带的性能监测工具来监测磁盘IO使用率和IOPS。
不同的操作系统可能有不同的工具,例如在Windows系统中可以使用PerfMon、Resource Monitor等工具,而在Linux系统中可以使用iostat、sar等工具。
这些工具可以提供实时监测和历史数据查询的功能,帮助我们了解系统磁盘IO的使用情况。
AIX 5L 磁盘性能优化之iostat、lvmstat、lslv、lspv 和 lsvg
AIX 5L 磁盘性能优化之iostat、lvmstat、lslv、lspv 和lsvg引言与其他子系统的优化工作不同,实际上在构建系统的体系结构设计阶段就应该开始进行磁盘I/O 优化。
尽管存在一些I/O 优化参数的虚拟内存等价项(ioo和lvmo),但是提高磁盘I/O 性能的最佳方法是正确地配置您的系统,而不是优化相关的参数。
与虚拟内存优化不同,在创建了逻辑卷并开始运行之后,要更改它们的组织结构会变得更加复杂,所以您通常只有一次机会正确地完成这项任务。
本文讨论了配置逻辑卷的方式,以及相对于物理磁盘应该将它们布置于何处,本文还介绍了用于监视您的逻辑卷的工具。
其中,大多数工具并不适合于长期趋势研究,并且是AIX 特定的工具,它们可以提供相关信息以便了解如何配置逻辑卷,以及是否针对您的环境对它们进行了优化。
本系列文章的第 1 部分介绍了iostat,但其中仅介绍了使用该工具来查看异步I/O 服务器。
第2 部分使用iostat 来监视您的磁盘,并向您介绍了它能够完成哪些工作以帮助您快速地确定I/O 瓶颈。
尽管iostat是通用的UNIX® 实用工具之一,并且它不是专门为AIX 而开发的,但实际上,对于快速地确定系统的运行情况,它是非常有用的。
更特定的AIX 逻辑卷命令可以帮助您更深入地研究逻辑卷,以帮助您真正地分析实际问题(如果存在任何问题)。
在使用这些工具之前,您必须清楚地了解您需要哪些信息,这一点是很重要的。
本文描述了相关的工具,并向您介绍了如何分析它们的输出,这将帮助您分析磁盘I/O 子系统。
逻辑卷和磁盘布置概述这个部分定义了逻辑卷管理器(Logical Volume Manager,LVM),并介绍了它的一些特性。
让我们深入地研究逻辑卷的概念,分析它们与提高磁盘I/O 使用率之间的关系,并通过定义和讨论intra-policy 和inter-policy 磁盘实践,从物理磁盘的角度介绍有关逻辑卷的布置。
fio iops指标 iops值
fio iops指标 iops值
IOPS(每秒输入/输出操作数)是衡量存储设备性能的重要指标之一。
它代表存储设备每秒钟可以执行的输入/输出操作的数量。
IOPS的值可以受到多种因素的影响,例如存储设备的类型(如机械硬盘、固态硬盘)、存储设备的容量、读写操作的大小和模式、以及系统负载等。
对于FIO(Flexible I/O Tester)来说,它是一个用于评估存储设备性能的工具,可以通过模拟不同的读写模式和负载来测试存储设备的性能。
在FIO测试中,IOPS值是一个关键的输出指标,它可以帮助我们了解存储设备在不同工作负载下的性能表现。
在评估FIO测试结果时,我们可以从多个角度来分析IOPS值。
首先,我们可以关注不同读写模式下的IOPS值,例如随机读、随机写、顺序读、顺序写等,这可以帮助我们了解存储设备在不同工作负载下的表现。
其次,我们还可以观察不同负载下的IOPS值,比如低负载、中等负载和高负载,这有助于我们了解存储设备在不同负载下的性能表现。
此外,还可以比较不同存储设备的IOPS值,以便进行性能对比和选择最适合特定应用场景的存储设备。
总之,IOPS值是评估存储设备性能的重要指标,通过FIO测试可以获取不同工作负载下的IOPS值,进而帮助我们全面了解存储设备的性能表现。
在分析FIO测试结果时,我们需要从多个角度综合考虑IOPS值,以便更全面地评估存储设备的性能。
AIX系统检测
AIX系统性能监控vmstat:报告关于内核进程,虚拟内存,磁盘,cpu的的活动状态的工具主要有几个用法:1.vmstat 间隔测试数量输出如下kthr memory page faults cpu----- ----------- ------------------------ ------------ -----------r b avm fre re pi po fr sr cy in sy cs us sy id wa0 0 26258 18280 0 0 0 7 20 0 127 227 64 1 2 96 1其中:kthr--内核进程的状态--r 运行队列中的进程数,在一个稳定的工作量下,应该少于5--b 等待队列中的进程数(等待I/O),通常情况下是接近0的.memory--虚拟和真实内存的使用信息--avm 活动虚拟页面,在进程运行中分配到工作段的页面空间数.--fre 空闲列表的数量.一般不少于120,当fre少于120时,系统开始自动的kill进程去释放free listpage--页面活动的信息--re 页面i/o的列表--pi 从页面输入的页(一般不大于5)--po 输出到页面的页--fr 空闲的页面数(可替换的页面数)--sr 通过页面臵换算法搜索到的页面数--cy 页面臵换算法的时钟频率faults--在取样间隔中的陷阱及中断数--in 设备中断--sy 系统调用中断--cs 内核进程前后交换中断cpu--cpu的使用率--us 用户进程的时间--sy 系统进程的时间--id cpu空闲的时间--wa 等待i/o的时间一般us+sy 在单用户系统中不大于90,在多用户系统中不大于80. wa时间一般不大于40.aix CPU 性能监视CPU 性能监视处理单元是系统中最快的组件之一。
在某一时间对单个程序来说保持100% 的CPU 占用率(也就是说,空闲0%,等待0%)超过几秒钟是相对少见的。
AIX系统的运行性能优化研究
企业 在 信息 化建 设 实施 之初 ,往 往只 关 注企 业业 务 流程 的 再 设计 和 系统 功 能 的实现 ,而忽 略 系统 平 台性 能 的优 化 问题 。…系 统开 机后 ,数据 不 断装载 ,系统 的性 能会 出现各 种 问题 ,不 利 于 系统 的 正常 工作 ,严 重 时可 导致 系统 崩溃 。
度 ,利 用缩 短连 结 线增 加 内部 空 间。 二 、A 运 行 系统 下应 用系 统 性能 优化 探讨 l x ( )CU性 能优 化方 法思 考 一 P
统 。计算 机 的发展 离 不 开 A X 行 系统 的技 术 改善 ,对 A X的应 I运 I 用 要 求 的提 出从 客观 上 促进 了计 算机 的发展 。人 们对 服 务器 的性
A bsr c : I t a tA X o rtn s se i t e pe aig y tm n h CPU a d n m e oy s bs se ,u yse i t e ik / m r u y t m s bs tm n h d s IO s bs tm s r pete u yse p o ri s m an e a c Sd sus e it n n ei ic s d. Ke w o dsAI p r t g s se ; p iai yse ; ro m a c t em an e nc y r : X o e ai y tm Ap lc t s tm Pe f r n eof itna e n on h
关键 词 :A X 运行 系统 ;应 用 系统 ;性 能的优 化 I
中图分类号 :T 368 P 1 1
文献标识码 :A
文章编号 :10 — 59 ( 00 1— 0 8 0 0799 2 1 ) 0 0 9— 1
IO队列深度max_queue_depth对系统性能的影响
IO队列深度max_queue_depth对系统性能的影响前段时间,发⽣了⼀个问题引起了我对IO队列深度的研究。
存储服务器中linux kernel的mpt2sas驱动模块,将max_queue_depth设置为1024时,引起系统加载驱动时卡死,⽽调整为512则没问题。
后来看了很多这⽅⾯的资料,终于弄明⽩了。
我们为了追求系统的性能,往往将max_queue_depth设置的很⼤。
但是并不是越⼤对性能越有帮助。
以下内容全部出⾃转载,我偷下懒!(1)探秘I/O队列对磁盘性能的影响介绍信息传输过程中数据通常暂存于磁盘队列。
实验表明,随着服务器性能的不断提⾼,磁盘I/O队列常常成为影响磁盘响应速度的⾸要瓶颈。
本⽂以AIX系统为例,描述了I/O队列在磁盘中的⼯作原理、监测命令,以及如何对其进⾏优化以提升磁盘性能。
使⽤I/O队列的意义:为何要对磁盘I/O进⾏并⾏处理呢?主要⽬的是提升应⽤程序的性能。
这⼀点对于多物理磁盘组成的虚拟磁盘(或LUN)显得尤为重要。
如果⼀次提交⼀个I/O,虽然响应时间较短,但系统的吞吐量很⼩。
相⽐较⽽⾔,⼀次提交多个I/O既缩短了磁头移动距离(通过电梯算法),同时也能够提升IOPS。
假如⼀部电梯⼀次只能搭乘⼀⼈,那么每个⼈⼀但乘上电梯,就能快速达到⽬的地(响应时间),但需要耗费较长的等待时间(队列长度)。
因此⼀次向磁盘系统提交多个I/O能够平衡吞吐量和整体响应时间。
理论上,磁盘的IOPS取决于队列长度÷平均IO响应时间。
假设队列长度为3,平均IO响应时间是10ms,则最⼤吞吐量是300 IOPS。
IO队列位于何处:以AIX系统为例,从应⽤层到磁盘物理层的IO堆栈如下所⽰,IO按照从上⾄下的顺序遍历堆栈:应⽤程序层⽂件系统层(可选)LVM设备驱动层(可选)SDD或SDDPCM或其他多路径驱动层(如果使⽤)hdisk设备驱动层adapter设备驱动层磁盘接⼝层磁盘⼦系统层磁盘层AIX在每⼀层堆栈都会监测IO,因此堆栈的每⼀层都有IO队列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AIX系统磁盘I/O性能评估2008/05/21 14:53[未分类 ]本文对AIX系统磁盘I/O性能评估做了详细介绍。
∙第1页:对磁盘IO的性能考虑,裸设备优缺点分析对磁盘IO的性能考虑:1) 将频繁访问的文件系统和裸设备应尽可能放置在不同的磁盘上。
2) 在建立逻辑卷时尽可能使用mklv的命令开关给不同的文件系统和裸设备赋予不同的内策略。
3) 使用磁盘设备驱动适配器的功能属性构建合适的RA ID方式,以获得更高的数据安全性和存取性能。
一般考虑采用R AI D5或者RAID10方式,对于写要求比较高的系统,一般建议采用RAID10方式;关于RAID10 与RAID 5的比较,可以见piner的文章,作为补充我会在后面贴出。
4) 尽可能利用内存读写带宽远比直接磁盘I/O操作性能优越的特点,使频繁访问的文件或数据置于内存中进行操作处理;在这里,顺带提一下裸设备以及文件系统的对比。
裸设备的优点:1) 由于旁路了文件系统缓冲器而进行直接读写,从而具有更好的性能。
对硬盘的直接读写就意味着取消了硬盘与文件系统的同步需求。
这一点对于纯OLTP系统非常有用,因为在这种系统中,读写的随机性非常大以至于一旦数据被读写之后,它们在今后较长的一段时间内不会得到再次使用。
除了OLTP,raw 设备还能够从以下几个方面改善DSS应用程序的性能:排序:对于DSS环境中大量存在的排序需求,raw设备所提供的直接写功能也非常有用,因为对临时表空间的写动作速度更快。
序列化访问:raw设备非常适合于序列化I/O动作。
同样地,DSS中常见的序列化I/O(表/索引的完全扫描)使得raw设备更加适用于这种应用程序。
2) 直接读写,不需要经过OS级的缓存。
节约了内存资源,在一定程度上避免了内存的争用。
3) 避免了操作系统的cache预读功能,减少了I/O。
4) 采用裸设备避免了文件系统的开销。
比如维护I-node,空闲块等。
裸设备的缺点:1、裸设备的空间大小管理不灵活。
在放置裸设备的时候,需要预先规划好裸设备上的空间使用。
还应当保留一部分裸设备以应付突发情况。
这也是对空间的浪费。
2、很多备份工具软件对裸设备的支持不足,导致备份等的操作和方法比较原始、麻烦。
接下来,对于磁盘I/O的性能性能评估的方法。
∙第2页:sar -d查看1、iostat查看#iostat 1 3System configuration: lcpu=16 drives=11 paths=4 vdisks=0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 59.7 30.4 17.0 25.6 27.1Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 1.0 4.0 1.0 0 4hdisk0 0.0 4.0 1.0 0 4hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 14477.7 1513.4 3072 11469dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 74.7 4968.3 440.1 1728 3262hdisk5 99.6 9508.4 1073.3 1344 8206cd0 0.0 0.0 0.0 0 0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 904.0 29.3 10.6 28.9 31.1 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 5956.0 492.0 1832 4124dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 49.0 2840.0 221.0 512 2328hdisk5 100.0 3116.0 271.0 1320 1796cd0 0.0 0.0 0.0 0 0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 898.2 41.6 8.9 21.2 28.3Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0hdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0dac0 0.0 25695.7 2306.8 2344 23432dac0-utm 0.0 0.0 0.0 0 0dac1 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0hdisk4 67.8 7908.3 542.3 712 7221hdisk5 99.7 17787.4 1764.5 1632 16211cd0 0.0 0.0 0.0 0 0注意:第一个报告代表自系统启动以来所有的活动。
下面对输出的结果说明如下:¨ tty TTY 的两列信息(tin 和tou)显示了由所有TTY 设备读写的字符数。
¨ avg-cpu CPU统计信息列(% user、% sys、% idle 和% iowait)提供了C PU的使用故障。
如果iostat 命令表明CPU 受限的情况不存在,并且% iowait 时间大于20%,则可能出现I/O 或磁盘受限情况。
这一情况可能在缺少实内存的情况下由过多调页产生。
也有可能是由于不平衡的磁盘负载、碎片数据或应用模式而产生。
¨ % tm_act 指示物理磁盘活动所占总时间的百分比(磁盘的带宽利用率),或者换句话说,磁盘请求的总时间未达到。
驱动器在数据传送和处理命令时是活动的,例如寻道至新的位置。
"磁盘活动时间"百分比正比于资源争用,反比于性能。
当磁盘使用率增加时,性能就下降并且响应时间就增加。
一般来说,当利用率超过70% 时,进程将等待的时间会比完成I/O 所必需的时间更长,因为大多数UNIX 进程在等待它们的I/O 请求完成时会阻塞(或休眠)。
查找相对空闲驱动器来说繁忙的驱动器。
把数据从繁忙的驱动器中移到空闲驱动器里可以帮助减轻磁盘的瓶颈。
在磁盘中调入调出页面会使I/O 负载增加。
¨ Kbps指示了每秒钟多少KB 的数据被传送(读或写)。
这是在系统报告时间间隔内Kb_read 加上Kb_wrtn 的总和并除以的这段时间间隔的总数的结果。
¨ tps 指示了每秒钟物理磁盘传送的次数。
一次传送是设备驱动程序级别到物理磁盘的一次I/O 处理请求。
多重逻辑请求可以组合成单一的磁盘I/O 请求。
传送的大小是不确定的。
¨ Kb_read报告了在测量间隔中总的从物理卷中读取的数据量(以KB 为单位)。
¨ Kb_wrtn显示了在测量间隔中总的写入物理卷中的数据量(以KB 为单位)。
我们也可以针对适配器作性能评估。
想知道某个适配器是否饱和,使用iostat 命令并且把所有连接到这个适配器上的磁盘的Kbps 数量加起来。
为了获得最大的聚集性能,总的传送率(Kbps)必须在磁盘适配器的吞吐量之下。
在大多数情况下,使用70% 的吞吐量,-a 或-A 选项会显示这些信息。
#iostat -a 1 1System configuration: lcpu=16 drives=11 paths=4 vdisks=0tty: tin tout avg-cpu: % user % sys % idle % iowait0.0 59.8 20.8 7.8 34.9 36.5Adapter: Kbps tps Kb_read Kb_wrtnsisscsia2 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.0 0.0 0.0 0 0hdisk0 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnsisscsia4 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk2 0.0 0.0 0.0 0 0hdisk3 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnfcs0 12614.7 1338.0 2160 10502Disks: % tm_act Kbps tps Kb_read Kb_wrtndac0 0.0 12615.7 1338.0 2160 10503hdisk4 59.8 4255.0 405.5 752 3519hdisk5 99.6 8359.7 932.5 1408 6983Adapter: Kbps tps Kb_read Kb_wrtnvsa0 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtndac0-utm 0.0 0.0 0.0 0 0dac1-utm 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnfcs2 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtndac1 0.0 0.0 0.0 0 0Adapter: Kbps tps Kb_read Kb_wrtnide0 0.0 0.0 0 0Disks: % tm_act Kbps tps Kb_read Kb_wrtncd0 0.0 0.0 0.0 0 0第3页:使用lslv -l lvname来评估逻辑卷的碎片情况2、sar -d查看#sar -d 1 2AIX jsdxh_db01 3 5 00C2C1BB4C00 10/24/07System configuration: lcpu=16 drives=1121:05:38 device %busy avque r+w/s Kbs/s avwait avserv 21:05:39 hdisk1 0 0.0 0 0 0.0 0.0hdisk0 0 0.0 0 0 0.0 0.0hdisk2 0 0.0 0 0 0.0 0.0hdisk3 0 0.0 0 0 0.0 0.0dac0 0 0.0 2051 20360 20.1 5.7dac0-utm 0 0.0 0 0 0.0 0.0dac1 0 0.0 0 0 0.0 0.0dac1-utm 0 0.0 0 0 0.0 0.0hdisk4 800.0 514 6137 1.2 5.3hdisk5 100 2.6 1536 14223 26.4 5.9cd0 0 0.0 0 0 0.0 0.021:05:40 hdisk1 0 0.0 0 0 0.0 0.0hdisk0 0 0.0 0 0 0.0 0.0hdisk2 0 0.0 0 0 0.0 0.0hdisk3 0 0.0 0 0 0.0 0.0dac0 0 0.0 1100 9835 34.0 11.8dac0-utm 0 0.0 0 0 0.0 0.0dac1 0 0.0 0 0 0.0 0.0dac1-utm 0 0.0 0 0 0.0 0.0hdisk4 84 0.1 270 2763 7.7 14.2hdisk5 100 3.2 830 7072 42.6 11.0cd0 0 0.0 0 0 0.0 0.0Average hdisk1 0 0.0 0 0 0.0 0.0hdisk0 0 0.0 0 0 0.0 0.0hdisk2 0 0.0 0 0 0.0 0.0hdisk3 0 0.0 0 0 0.0 0.0dac0 0 0.0 1575 15097 27.1 8.7dac0-utm 0 0.0 0 0 0.0 0.0dac1 0 0.0 0 0 0.0 0.0dac1-utm 0 0.0 0 0 0.0 0.0hdisk4 82 0.1 392 4450 4.5 9.7hdisk5 100 2.9 1183 10647 34.5 8.4cd0 0 0.0 0 0 0.0 0.0输出结果说明:¨ device 设备的类型¨ %busy 报告设备忙于执行传输请求所用的时间¨ avque 该段时间内未完成的请求的平均值。