容量规划和调优策略 助力企业降本增效
文章来源:《华为云确定性运维案例集(稳定可靠篇)》
云计算为企业IT基础设施带来敏捷性和效率提升的同时,企业用云资源配置不合理或配置过度的现象普遍存在。根据Flexera2022年调查数据,企业用云费用平均被浪费了32%。《中国云使用优化报告(2021)》数据显示,企业上云后云成本不可控制是企业用云面临的最大挑战,且九成以上用云企业有云成本优化的需求。
当企业在做大促,类似于双十一的活动时候,就会面临这些问题:线上服务器能承受多大的访问量? 单台服务器能承受多大的访问量? 面对可能出现的流量高峰,是否需要增加云服务器,需要加多少云服务器? 以上问题都体现出企业对容量规划有较强的诉求。
企业面临的主要业务挑战如下:
1. 强连续性诉求,随着业务资源和业务规模的持续增加,资源负载较高会导致业务性能降低引起业务延迟卡顿,导致用户体验下降。
2. 强稳定性诉求,金融企业对业务的稳定性有强诉求,任何资源变动以业务稳定性为第一考量。
3. 资源众多,开通灵活,难以厘清是否存在资源闲置、浪费的情况。
4. 业务实例:
(1)数据库负载长期较高,常有突增情况发生;
(2)ECS存在长期CPU负载超过85%。
1、容量优化方法
系统容量优化常用手段分为两种,垂直扩缩容和水平扩缩容。
(1)垂直扩缩容
通过升降云服务规格,改变单个服务节点的容量,来提供合理的系统服务能力。例如加大服务器的CPU数量和内存,更换性能更好的高速缓存服务器,数据存储用SSD盘替换等。同样针对低负载服务节点,可通过降低服务器的CPU数量和内存,提供合理的系统服务能力。
①垂直扩容案例:
ECS实例A(2U4G):容量优化前ECS负载长期飚高,经常有突增现象,通过实例扩容规则至4U8G后负载平稳且正常。
优化前负载情况,内存使用率99%,优化前QPS突增,如图3、图4所示:
优化后负载情况,内存使用率74%,QPS显著降低,如图5所示:
②垂直缩容案例:
数据库实例B:容量优化前数据库负载较低,为提高利用率,通过更换较低规格实例(2U16G),缩容后实例负载正常,业务稳定。
优化前负载情况,CPU使用率2.7%,内存使用率25%,如图6所示:
优化后负载情况,CPU使用率50%,内存使用率86%,如图7所示:
(2)水平扩缩容
针对业务架构或服务为分布式/集群/容器部署,通过增加或减少服务节点的数量,让提供服务的系统总体的服务能力处于合理范围。
常见的方式有:
服务集群:服务器的数量由1→N(但需要重点关注负载均衡)。
分布式:提供服务的节点由统一集中管理部署,分散到不同的地点。
容器:提供更灵活的弹性扩容机制,根据具体的访问流量大小来弹性扩容或者缩容。
当业务访问持续上涨后,我们需要根据集群整体的负载情况进行适当的水平扩容,可通过业务的关键指标监控,如CPU、内存负载情况,确认其业务水平持续上升趋势,且单机能力已经快达到瓶颈,需要根据整体负载重新进行容量规划扩缩容。
2、容量优化流程
(1)场景及架构分析
系统容量优化贯穿于整个应用生命周期,从上云前规划、云上部署及应用下线,整个过程都需要针对系统进行容量调优,保障系统稳定运行,场景主要分为:上云前(新业务上云)、上云中(重大活动活动或新增业务)、上云后(业务平稳),并从系统架构分析入手,以业务系统切入容量分析。
(2)获取容量指标数据
根据场景分析结果获取业务容量指标:
若是上云前和上云中,需通过执行压测或历史压测报告获取业务容量指标,并转化成服务和组件容量指标,结合历史监控关键指标数据进行容量分析;若是上云后,通过历史监控关键指标数据进行容量分析。
(3)评估容量规划
基于压测结果进行评估,共分3个阶段:压测分析阶段、容量计算阶段、结果验证阶段。
① 压测分析阶段:通过压测工具或者历史压测报告,根据业务不同阶段吞吐量,分析基础资源性能在不同阶段的负载情况,评估业务应用安全水位,确认并记录云服务相关规格对应的业务性能指标。
② 容量计算阶段:通过压测报告数值,业务指标相关数值,按照接入层、应用层、缓存层、数据层,分层计算需要部署的云服务规格选型。
③ 结果验证阶段:对业务系统进行容量扩缩容后,个别节点或者云服务可能出现负载过低或者过高的情况,需要再次对不合理实例实施容量微调。
基于历史监控数据进行评估,共分4阶段:趋势分析阶段、服务分层阶段、容量调优阶段、结果验证阶段。
① 趋势分析阶段:监控指标一般以一周和一个季度为观察周期,一周为短周期,主要识别业务特点,是否有高峰期和低峰期;一个季度为长周期,主要识别业务增长趋势,预期业务瓶颈。结合业务特点及业务变化趋势,识别具体业务风险,及时对业务进行扩缩容。
② 服务分层阶段:根据业务架构进行服务分析,分析每层涉及的服务及对应的重点监控指标,当架构中的某一层容量突增会导致关联业务或向下传递负载突增,因此在容量规划时应结合实际业务,全链路进行容量等比规划。
③ 容量调优阶段:按架构分层分析,每层进行容量调优都需遵循空资源优化、容量优化操作。空资源优化是通过梳理和分析实例状态来优化成本,容量优化通过历史监控详情分析实例负载情况,进行合理的扩容,保证业务健壮性。
④ 结果验证阶段:对业务系统进行容量扩缩容后,个别节点或者云服务可能出现负载过低或者过高情况,再次对不合理实例实施容量微调。
3、容量优化流程及实践
(1)业务指标收集
获取一天总访问量 = 1000w PV,页面衍生连接数 = 30 个
计算一天平均QPS = (1000w * 30) /(24 * 60 * 60) = 3472
(2)应用水平评估
企业新上云业务系统,根据业务应用性质选定规格在2U4G,并发在800时,最大时延2000.11ms,平均时延1600.84ms,内存基本都维持在95%左右。
压测的单机能力 = 500QPS,同时压测redis性能主备8G即可满足业务需求,mysql主备2U4G满足业务需求。
(3)评估容量规划
规格选型及数量确认:
① 接入层:基于访问页面大小及并发访问量计算出所需带宽
网站独享带宽=时间段总的PV值÷时间段(换算到S)* 平均页面大小(单位KB)* 8
网站独享带宽=2400000/ 86400s * 23 KB * 8 = 21296.29Kbps = 21.29Mbps,选择规格为22M带宽,根据1.5倍冗余最终带宽 =22*1.5 = 14.6M,确定带宽为15M
② 应用层:单机房部署的标准水位是 = 70%,服务器数量 = 3472/ (500* 70% ) =9.92
基于规划计算,单机房部署需要10台服务器
③ 缓存层:基于压测报告redis选择主备8G满足业务需求
④ 数据层:基于压测报告mysql选择主备2U4G的满足数据存储性能要求
通过实施了一系列容量优化手段和方法,达成以下成果:
1. 识别部分系统容量瓶颈并实施扩容整改,提升关键节点的性能,显著降低业务访问时延,极大增强系统的业务承载能力,大大提升用户体验。
2. 发现部分闲置、低利用率资源,提高资源利用率并进行缩容整改,减少云成本的浪费,优化云资源配置。
容量优化是个长期持续的过程,覆盖IT系统的整个生命周期,通过对容量指标的分析和预测,及时发现容量瓶颈、资源配置不均衡等问题,在确保业务系统稳定运行的同时,节约IT基础设施成本,为业务提供科学有效的IT采购与容量优化,为IT资源更合理分配提供决策支持。
- 点赞
- 收藏
- 关注作者
评论(0)