磁盘IO的性能指标是什么?如何获取和分析?

发布者:上海IT外包来源:http://www.lanmon.net点击数:1032

作为存储用户的服务服务器的操作系统只能看到磁盘(存储级LUN),存储管理员知道存储器内部的特定RAID模式,条带化模式等,并注意系统性能活动(性能测试)。在性能调整中,IO指示器很少直接关注,但遇到性能问题(例如服务的响应时间非常慢)。逐渐检出磁盘时,会聚焦磁盘IO的性能指标。这是因为磁盘IO的性能实际上并不好用指针来表明它。
当磁盘IO出现性能问题时,需要分析IOPS,MBPS,服务时间,每次写入的平均块大小,队列等待时间等指标,分析IO路径,驱动程序,光纤卡,光纤交换机,后台存储规划,磁盘域和存储池分区,精简LUN或密集LUN,存储缓存设置,IO QoS,磁盘类型,存储接口模块数量,RAID分区,是否配置快照,克隆,远程复制等增值功能,存储CPU利用率控制器即使数据位于盘片的中心或边缘。
本节不主要从存储的角度介绍,而是从存储用户(业务服务器的操作系统)的角度介绍磁盘IO的性能指标和相关分析。
主要焦点指标
虽然每种类型的物理资源都有N个性能指标来反映,但CPU和内存资源最重要的指标只有一个,即利用率,但磁盘IO有三个主要指标(IOPS,带宽,响应时间)。这是因为存储容量根据IO模型而有很大差异。 IO模型可以理解为读IO和写IO的比率,顺序或随机,每个IO的大小等等。例如,在测试IOPS的最大容量时,使用随机小IO执行测试。此时占用的带宽非常低,响应时间比顺序IO长得多。当测试序列是大IO时,此时带宽使用率非常高,但IOPS非常低。
从服务服务器,存储控制器,前端主机端口,磁盘,LUN,存储池等的角度来看,有三个主要指标。本文重点介绍业务服务器。IOPS
每秒I/O,每秒可处理的I/O数量,用于测量存储系统的I/O处理能力。在数据库OLTP(在线事务处理)业务场景中,系统的性能通常由IOPS来衡量。测量存储的最大IOPS通常通过随机读取和写入小IO来评估。
1.获取来源
总IOPS:Nmon DISK_SUMM表:IO /秒
读取每个磁盘的IOPS:Nmon DISKRIO Sheet
为每个磁盘写入IOPS:Nmon DISKWIO Sheet
总IOPS:命令行iostat -Dl:tps
读取每个磁盘的IOPS:命令行iostat -Dl:rps
为每个磁盘写入IOPS:命令行iostat -Dl:wps
2.适用场景
对于I/O小于64 KB的应用程序方案,存储性能侧重于IOPS指标。
OLTP(在线事务处理)系统是数据库服务的应用类型,其中大量用户在线进行交易操作。
OLTP应用程序的负载特性如下:
从数据库的角度来看:
- 阅读,编写和更改每笔交易所涉及的数据量非常小。
- 数据库中的数据必须是最新的,因此数据库的可用性非常高。
- 同时有很多用户。
- 需要数据库的快速响应,通常需要在几秒钟内完成事务。
从存储角度来看:
- 每个I/O都非常小,通常为2KB到8KB。
- 访问硬盘数据的位置非常随机。
- 至少30%的数据是随机写入操作。
-  REDO日志(重做日志文件)写得非常频繁
带宽
每秒可处理的数据量,通常以KB/S或MB/s或GB/s表示,表示为KBPS/MBPS/GBPS,用于测量存储系统的吞吐量。在诸如OLAP(在线分析处理)服务,媒体资产服务和视频监视服务的应用场景中,系统性能通常通过带宽来测量。
1.获取来源
总带宽:Nmon DISK_SUMM表:磁盘读取KB /秒,磁盘写入KB /秒
读取每个磁盘的带宽:Nmon DISKREAD Sheet
为每个磁盘写入带宽:Nmon DISKWRITE Sheet
总带宽:命令行iostat -Dl:bps
读取每个磁盘的带宽:命令行iostat -Dl:bread为每个磁盘写入带宽:命令行iostat -Dl:bwrtn
2.适用场景
对于I/O大于或等于64 KB的应用场景,存储性能主要与带宽指标有关。
OLAP服务是一种应用程序类型,用户长时间在数据库上执行复杂的统计查询操作。
OLAP应用程序的负载特征如下:
从数据库管理员的角度来看:
- 少量数据修改或无数据修改。
- 数据查询过程很复杂。
- 数据使用频率逐渐下降。
- 查询结果以统计值显示,便于查看。
从存储采样:
- 单个I/O数据量很大,通常为64KB到1MB。
- 通常按顺序读取读操作。
- 当执行读取操作时,写入操作的数据存储在临时表空间中。
- 少写在线日志。只有在批量加载数据时,写入操作才会增加。
响应时间
也称为延迟或服务时间,即I/O请求启动和I/O处理完成之间的时间间隔,通常以毫秒(ms)为单位。
1.获取来源
读取每个磁盘的响应时间:命令行iostat -Dl:read  -  avg serv,max serv
写入每个磁盘的响应时间:命令行iostat -Dl:write  -  avg serv,max serv
2.最佳实践
数据库OLTP服务的一般延迟需要不到10毫秒,实际上大多数情况下不到1毫秒; VDI(虚拟桌面基础架构)场景通常需要不到30毫秒;视频点播和视频监控的延迟要求因比特率而异。
从业务系统用户的角度来看,响应时间是这三个指标中最重要的。因为,如果IOPS或带宽达到存储瓶颈,它肯定会反映在IO响应时间内。
其他值得关注的指标
用户经常从业务系统注意的其他指标有:磁盘忙,队列满等等,这里有一个简要介绍。
磁盘忙碌
Diskbusy体现了磁盘驱动器的利用率,即磁盘驱动器处于活动状态的时间。
1.获取来源
Nmon DISKBUSY表
命令行iostat -Dl:%tm_act
2.详细说明
但是,此指标的级别与IOPS和带宽不成线性关系。例如,当diskbusy=80%,IOPS=500时,当diskbusy=90%时,IOPS可能达到800。
驾驶员可以被理解为道路,并且每个IO数据块被理解为在道路上行使的汽车。当道路上没有汽车时,它被认为是不活动的;当有一辆车在路上时,它被认为是活动的,但是一辆车也是活动的,并且10辆车也是活动的。因此,diskbusy不能用作磁盘IO的重要性能指标。但是,在日常情况下,您可以从该值的值粗略估计磁盘使用情况。服务队列已满
服务队列已满的次数(磁盘不再接受服务请求)。
1.获取来源
命令行iostat -Dl:sqfull
2.详细说明
通常,此sqfull的值为0.如果它不为0,则可能是IO队列深度太小或磁盘/存储容量不足。
Queue_depth是IO队列深度,它是AIX一次可以传输到磁盘设备的命令数。将命令放入队列然后将其传输到磁盘可以提高I/O性能。此属性限制AIX可以传输到设备的最大命令数。您可以通过命令查看lsattr -El hdiskxxx | grep queue_depth。 queue_depth的默认值为4,可以调整。但是,调整queue_depth方法非常有限,可以提高磁盘IO功能。
文件系统用法
文件系统和inode的使用不再在磁盘IO的讨论中,但它仍然属于磁盘的范围,需要业务系统用户的注意。
1.获取来源
NMON:JFSFILE SHEET
命令行df-g
2.最佳实践
当使用率超过80%时,系统的性能可能会降低。
同时,可以推断统计流量和文件系统利用率的增长是文件系统可以支持的最大流量。管理员可以根据日常流量和文件系统的空间设置备份删除策略。
Inode使用情况
Inode:索引节点,用于存储有关文件和目录的基本信息。 inode的数量是文件系统中的最大节点数。
Inode的使用很容易被忽视。对于文件较小且文件数量较大的某些系统,如果使用默认参数生成文件系统,则inode的数量可能不足。当inode使用率达到100%时,不能创建新文件或目录。
1.获取来源
NMON:JFSINODE SHEET
命令行df- g:%Iused
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部