蓝盟弱电工程,磁盘I/O的性能指标是什么?如何到达和分析?

发布者:上海IT外包 发布时间:2019/5/22 10:44:52来源:www.linemore.com

作为存储用户的服务服务器操作系统只能看到磁盘(存储级别的LUN),存储管理员知道存储中的特定RAID模式,条带创建模式等,并注意系统的性能活动(性能测试)。在性能设置中,I/O指示器很少直接受到影响,但存在性能问题(例如服务的响应时间非常慢)。逐渐检查磁盘时,磁盘I/O性能指示器处于焦点。这是因为磁盘I/O的性能并不适合将指针清除。
  当磁盘的IO出现性能问题时,应分析IOPS,MBPS,服务时间,每次写入的平均块大小,队列中的等待时间等指标,分析IO路径,控制器,光纤卡,光纤交换机,后台存储规划,磁盘域和存储池分区,精简LUN或密集LUN,存储缓存配置,IO QoS,磁盘类型,接口模块数量,存储,RAID分区,如果配置了快照,克隆,远程复制和其他增值功能,存储控制器的CPU利用率即使数据位于菜肴的中心或边缘。
  本节不是主要从存储的角度出发,而是从存储用户(企业服务器的操作系统)的角度介绍磁盘I/O的性能指标和相关分析。
  主要焦点指标
  虽然每种类型的物理资源都有N个性能指标可以反映,但CPU和内存资源最重要的指标只有一个,即利用率,但磁盘I/O有三个主要指标(IOPS,带宽,响应时间)。这是因为存储容量根据IO模型而有很大差异。 IO模型可以理解为IO读取和IO写入的比率,顺序或随机,每个IO的大小等。例如,当测试IOPS的最大容量时,使用小的随机IO执行测试。此时占用的带宽非常低,响应时间比顺序IO长得多。当测试序列是大IO时,此时带宽使用率非常高,但IOPS非常低。
  从服务服务器,存储控制器,前端主机端口,磁盘,LUN,存储组等的角度来看,有三个主要指标。本文档重点介绍企业服务器。
  IOPS
  每秒I/O(每秒可处理的I/O数)用于测量存储系统的I/O处理能力。在OLTP(在线事务处理)数据库的业务场景中,系统性能通常由IOPS测量。通常通过读取和随机写入小IO来评估最大存储IOPS测量。
  1.获取来源
  总IOPS表:Nmon DISK_SUMM:IO/Sec读取每张光盘的IOPS:NK的DISKRIO表
  为每张光盘写入IOPS:NK的DISKWIO表
  总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/s),磁盘记录(KB/s)
  读取每个磁盘的带宽:NK DISKREAD表
  为每个磁盘写入带宽:NK的DISKWRITE表
  总带宽:命令行iostat -Dl:bps
  读取每个磁盘的带宽:命令行iostat -Dl:bread
  为每个磁盘写入带宽:iostat命令行-Dl:bwrtn
  2.适用场景
  对于I/O大于或等于64 KB的应用场景,存储性能主要指带宽指标。
  OLAP业务是一个长期在线用户应用程序,在数据库中进行一种复杂的统计查询操作。
  OLAP应用程序的负载特征如下:
  从数据库管理员的角度来看:
   - 少量数据修改或无数据修改。
   - 数据咨询过程很复杂。
   - 数据的使用频率逐渐降低。
   - 查询结果以统计值显示,便于查看。从存储采样:
   - 单个I/O数据量很大,通常从64 KB到1 MB。
   - 读取操作通常按顺序读取。
   - 当执行读取操作时,写入操作的数据存储在临时表空间中。
   - 在线记录少写。只有在批量加载数据时,写入操作才会增加。
  响应时间
  也称为延迟或服务时间,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.获取来源
  NKB的DISKBUSY表
  命令行iostat -Dl:%tm_act
  2.详细解释
  但是,此指标的级别与IOPS和带宽不成线性关系。例如,当diskbusy=80%,IOPS=500时,当diskbusy=90%时,IOPS可以达到800。
  驾驶员可以被理解为道路,并且每个IO数据块被理解为在道路上行使的汽车。当道路上没有汽车时,它被认为是不活动的,当道路上有汽车时,它被认为是活动的,但是汽车也是活动的,并且10辆汽车也是活动的。因此,diskbusy不能用作磁盘I/O的重要性能指标。但是,在日常情况下,您可以根据此值的值粗略估计磁盘使用情况。
  完整的服务队列
  服务队列已填满的次数(磁盘不再接受服务请求)。
  1.获取来源
  Iostat -Dl命令行:sqfull
  2.详细解释
  通常,此sqfull的值为0.如果它不为0,则可能是I/O队列的深度太小或者磁盘/存储的容量不足。Queue_depth是I/O队列的深度,它是AIX一次可以传输到一个磁盘设备的命令数。将命令放入队列然后将它们传输到磁盘可以提高I/O性能。此属性限制AIX可以传输到设备的最大命令数。你可以看到lsattr -The hdiskxxx |按命令grep queue_depth。 queue_depth的默认值为4,可以调整。但是queue_depth方法的设置非常有限,以提高磁盘的I/O功能。
  使用文件系统
  文件系统和inode的使用不再讨论磁盘I/O,但仍属于磁盘的范围,需要业务系统用户的注意。
  1.获取来源
  NMON:JFSFILE SHEET
  命令行df-g
  2.最佳实践
  当使用率超过80%时,系统的性能可能会降低。
  同时,可以推断统计流量的增长以及文件系统可以支持的最大流量的文件系统的使用。管理员可以根据每日流量和文件系统空间配置备份删除策略。
  使用inode
  Inodo:索引节点,用于存储有关文件和目录的基本信息。 inode的数量是文件系统中的最大节点数。
  使用inode很容易被忽视。对于具有小文件大小和大量文件的某些系统,如果使用默认参数生成文件系统,则inode的数量可能不足。当inode的使用达到100%时,无法创建新文件或目录。
  1.获取来源
  NMON:JFSINODE SHEET
  命令行df- g:%Iused

 

上海IT外包服务网 链接:http://www.linemore.com

>
400-635-8089
立即
咨询
在线咨询 电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部