|
|
51CTO旗下网站
|
|
移动端

存储能力探测及存储问题定位

数据收集来源除了上述介绍的IOPS、带宽指标,还需要关注IO的大小。IO的大小可以通过带宽/IOPS来计算,但更细致的数据可以通过NMON中DISKAVGRIO/DISKAVGWIO来读取,毕竟带宽/IOPS计算得出的IO Size是某个时间段的平均值,而真实场景中每一秒的情况可能与平均值相差甚远。

作者:杨建旭来源:talkwithtrend|2018-03-01 08:56

一、 存储能力探测

当业务吞吐量不能如预期增加,可以考虑是否是由于存储的瓶颈导致。

业务系统运行起来后,可以提炼其中的IO模型,按照IO模型,有针对性的进行存储方面的规划和测试。有不少工具可以用来探测LPAR所用的存储的最大能力,本文以Orion工具为例介绍。

1.1 IO模型

IO模型包括:

  • 磁盘IO分别在哪些盘
  • IOPS
  • 带宽
  • 读IO和写IO的比例
  • 读IO是顺序的还是随机的
  • 写IO是顺序的还是随机的
  • 读IO的大小
  • 写IO的大小

数据收集来源除了上述介绍的IOPS、带宽指标,还需要关注IO的大小。IO的大小可以通过带宽/IOPS来计算,但更细致的数据可以通过NMON中DISKAVGRIO/DISKAVGWIO来读取,毕竟带宽/IOPS计算得出的IO Size是某个时间段的平均值,而真实场景中每一秒的情况可能与平均值相差甚远。

1.2 存储能力探测工具-Orion

Orion工具是由Oracle开发,用于探测Oracle数据库所在的存储在不同IO模型下的最大IO能力,预测Oracle的最大读写能力。Orion可模拟Oracle数据库IO负载(采用与Oracle相同的IO软件栈),可模拟Oracle Automatic Storage Management提供的条带效果。

本测试中针对某一文件进行100%的写操作,写操作的类型为顺序写,每个写IO大小为8K。

Orion按照上述指定参数施压,自动地、逐渐地增加并发写的进程数,直到Orion认为吞吐量不再增加。测试结束后,从trace文件中提取有用信息,如下图:

Orion还可以不进行参数设置,自动对存储的IOPS、带宽的最大能力进行探测,是一款不错的小工具。

二、 存储问题定位

从用户的角度来说,性能问题最直观的感受是应用响应时间或者业务处理时间变长,性能问题是系统性的,问题可能出现在各个环节。通常情况下,最先排查的是CPU、内存等服务器内在的原因,当服务器内在原因被初步排除后,才会排查网络IO、磁盘IO的问题。

即使确定是磁盘IO导致的,也要分析整个IO路径,分析IO瓶颈是主机/网络/存储中的哪个环节导致的。

2.1 主机侧

当主机侧观察到的时延很大,存储侧的时延较小,则可能是主机侧或网络存在问题。

主机是I/O的发起端,I/O特性首先由主机的业务软件和操作系统软件和硬件配置等决定。例如,在“服务队列满”这一章节介绍的I/O 队列长度参数(queue_depth),当然,还有许多其他的参数(如: driver 可以向存储发的最大的 I/O、光纤卡DMA memor区域大小、块设备并发数、HBA卡并发数)。

若排查完成,性能问题还是存在,则需要对组网及链路、存储侧进行性能问题排查。

2.2 交换网络

当主机侧观察到的时延很大,存储侧的时延较小,且排查主机侧无问题时,则性能问题可能出现在链路上。

可能的问题有:带宽达到瓶颈、交换机配置不当、交换机故障、多路径选路错误、线路的电磁干扰、光纤线有损、接口松动等。带宽达到瓶颈、交换机配置不当、多路径选路错误、线路的电磁干扰等。

2.3 存储侧

如果主机侧时延与存储侧时延都很大且相差较小,说明问题可能出现在存储上。首先需要了解当前存储侧所承载的IO模型、存储资源配置,并从存储侧收集性能数据,按照I/O路径进行性能问题的定位。

常见原因如硬盘性能达到上限、镜像带宽达到上限、存储规划(如条带过小)、硬盘域和存储池划分(例如划分了低速的磁盘)、LUN对应的存储缓存设置过小、IO的Qos限制的磁盘IO的带宽、存储接口模块数量过小、RAID划分(比如RAID10>RAID5>RAID6)、配置快照、克隆、远程复制等增值功能拖慢了性能、存储控制器的CPU利用率过高、LUN未格式化完成引起短时的性能问题。

【编辑推荐】

  1. 大规模知识图谱数据存储实战解析
  2. 分布式存储性能不足?该如何提高?
  3. 流体数据存储:推动数据中心的灵活性
  4. 各区块链底层数据存储分析,帮你了解它们的不同之处
  5. 使用RMI结合JDBC实现远程数据存储
【责任编辑:武晓燕 TEL:(010)68476606】


点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

热门职位+更多

读 书 +更多

'ASP.NET'程序设计教程

《ASP.NET程序设计教程》是在总结多年ASP.NET教学和应用项目开发经验基础上编写完成的,编写过程中充分吸取了其他畅销实用教程的成功经验。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊