yangjianxv
作者yangjianxv2017-03-21 14:54
部门总经理, 成方金融科技有限公司

性能指标之资源指标-磁盘-存储能力探测及存储问题定位

字数 1655阅读 5114评论 0赞 3

一、 存储能力探测

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

业务系统运行起来后,可以提炼其中的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。

QQ截图1.png

QQ截图1.png

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

QQ截图2.png

QQ截图2.png

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

二、 存储问题定位

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

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

QQ截图20170321111920.png

QQ截图20170321111920.png

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未格式化完成引起短时的性能问题。

微信公众号:性能测试与调优

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论0 条评论

Ctrl+Enter 发表

本文隶属于专栏

作者其他文章

相关文章

相关问题

X社区推广