存储性能的监控分析及四种优化手段

哲哲蛙
存储性能直接影响应用性能,应用需要进行持续优化,提高业务支撑能力。同时,存储也需要进行持续优化,提高对应用程序性能的支持能力,这对存储管理员人员在运维过程中,利用监控数据进行存储优化的能力提出了更多要求。本文介绍了四种常见手段。

本文来自微信公众号“twt企业IT社区”,哲哲蛙,某城商行技术经理。

随着云计算、大数据以及新兴的区块链等技术体系的迅猛发展,数据中心的扩容建设进入高峰期,针对金融行业互联网金融、云化、容器化、分布式改造等数字化转型在金融行业不断发展,金融业务向移动、普惠、敏捷和创新方向发展,存储作为关键基础设施依然承担着非常关键的作用,越来越多的存储资源逐渐由传统存储转化为云存储。越来越多应用运行在我们的存储服务器上,存储性能直接影响应用性能,应用需要进行持续优化,提高业务支撑能力,同时,存储也需要进行持续优化,提高对应用程序性能的支持能力,这对存储管理人员在运维过程中,利用监控数据进行存储优化的能力提出了更多要求。

一、存储性能监控和分析

进入云服务时代后,站在存储的角度,集中式存储和分布式存储并存的云存储池具备了更强的云化和服务化特性,提供云存储的最终存储的形态包括集中式存储和分布式存储两种。无论是集中式还是分布式存储,存储的监控通常关注存储的硬件和集群指标监控,硬件监控关注存储设备的物理构件有没有出现故障损坏,而性能指标监控是存储服务器服务能力的直观体现,用户可以通过性能指标了解系统的运行状态,数据中心内部的存储使用量和读写速度。我们可以将存储监控分为存储性能监控、存储系统监控及存储设备监控。

存储性能监控方面,块存储通常监控块的读写速率、IOPS、读写延迟、磁盘使用量等;文件存储通常监控文件系统inode、读写速度、目录权限等。分布式存储系列通过开放接口与上层云管平台集成,上层云管平台可以通过相关接口对存储系统资源(比如存储集群资源、存储池、卷等)进行监控管理。分布式存储系统监控方面,不同的存储系统有不同的指标,包含集群基本信息监控、性能监控等。集群基本信息监控主要查看包括集群管理服务、状态、节点信息、节点进程信息等,集群性能监控主要查看CPU利用率、内存利用率、带宽、IOPS、时延、磁盘利用率、存储池利用率统计。

存储的硬件监控通常通过存储设备自检能力可以体现,例如机头、磁盘、端口等属于易损件,我们可以通过存储的自带监控界面以及告警灯发现问题。此外也需要关注环境和系统关键温度点监控,对环境温度和系统内的关键温度点都进行了实时监控,会根据各监控点的信息,对风扇进行动态调速,保证系统及各组件工作在正常的温度范围内。当由于环境温度增高或者器件异常,风扇调速无法保证系统或者组件工作在正常范围时,存储系统持续高温,容易导致部件损坏。

获取了存储的监控数据后,存储管理员可以周期性的对健康监控数据进行分析,对于监控数据,我们要形成一定的运行基线,如果存储设备监控数据在基线基础上持续攀升,或者达到存储能支撑的最大值,则需要引起警惕。例如发现CPU性能持续升高或者高位运行,则需要考虑存储机头处理能力可能会影响IOPS吞吐能力面临瓶颈,例如发现缓存命中率低,或者热数据层长时间使用率非常高,则可能是缓存层的容量不够用,如果端口持续告警,可能是存储的端口带宽不足等,则通常需要进行相应的机头处理器升级、缓存容量扩容或者端口个数或者端口速率的升级扩容,以便化解风险。

二、存储性能优化

存储性能优化工作具有一定的策略性,科学的优化策略才能指导制定更加合理的存储性能优化方案。存储优化可以分为规划、交付、维护几个阶段的优化进行阐述,每个阶段可以考虑的方案有一定区别。

如果是在规划阶段,需要分析业务系统的需求,根据需求确定交付的方案。需要提前使用性能规划工具对业务场景做好性能评估工作,并根据评估结果匹配硬件配置,如当前配置不满足则需要及时调整硬件配置。如业务对性能要求比较高,那么业务数据应该规划使用SSD盘,对性能要求不高的业务可以规划SAS盘;对于端口速率规划,根据实际的业务带宽情况评估,选择合适的端口速率。如果是在交付阶段,可以根据产品的最佳实践完成从主机到存储的标准化配置,比如系统业务网络和管理网络的隔离,交换网络使用双交换的标准冗余组网,防止单点故障导致业务中断;如果是在业务上线前,需要完成针对性场景的性能测试和可靠性测试,确保端到端的业务性能能够满足业务需求,可靠性满足冗余标准,在各种器件故障或者异常场景能够正常切换业务且不影响上层业务;如果已经进入维护阶段,需要定期对系统做巡检,及时识别系统风险并及时处理。持续监控存储性能,并与前期的性能测试报告和业务性能基线进行对比,提前发现性能风险,提前扩容或优化硬件配置。

存储性能分析与优化是一项长期、复杂而重要的工作,需要明晰存储性能优化目标,做好详细性能分析,并制定阶段性的优化方案和验证方案,以确保存储性能优化工作的持续开展。

常见的性能优化手段包括上层应用优化、调整性能负载、数据缓存优化、存储扩容优化等手段。

2.1上层应用优化

上层应用优化手段比较丰富,主要目标是减少上层应用带给存储的IO负载,比如数据传输前启用重复数据删除或数据压缩;优化IO并发,将大量的小IO聚合成大IO;数据库的索引优化、SQL语句优化。

2.2调整性能负载

调整性能负载主要针对的存储性能热点问题,方案包括优化磁盘分布方式,调整磁盘负载;调整存储网络端口负载;避免过多的流量集中在存储的某几个端口上,相对来说容易出现流量集中的是数据库服务器使用的端口,在进行跑批、备份等操作时,容易出现带宽争用。调整存储控端口负载,尽量均衡存储端口的流量。

2.3数据缓存优化

数据缓存是存储系统中非常重要的性能模块,一般缓存都采用内存或闪存等速度更快的存储介质,远远快于一般的磁盘。很多存储性能问题都因缓存而起,也经缓存优化而终结。数据缓存分为客户端本地缓存和存储缓存。比如客户端本地缓存对于一些分布式文件系统非常重要,增加缓存大小,可以有效提高缓存命中率;存储的缓存也极为重要,多层级的数据缓存技术可将热点数据存放在更快的存储介质上,降低存储延时。

2.4存储扩容优化

如果以上手段都已经使用,但是存储性能瓶颈或容量瓶颈仍然存在,则应当及时采取扩容,针对容量瓶颈进行磁盘容量扩容,IOPS足够的情况下可以扩容大容量硬盘,如果IOPS也不足的时候,还需要扩容缓存层SSD硬盘。针对性能的不足,可以考虑扩容存储机头,存储的IO端口、升级端口模块提升速率等。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论