SLA如同飞机的黑匣子,7X24小时不间断的记录AWS平台内部运行情况,为了确保监控的连续性,降低额外的系统开销,我们对SLA做了大量改进和优化。
在常规情况下,开启SLA会对平台增加约0.1%
的性能损耗,这种性能影响是微乎其微,可以忽略不计的。
当AWS平台性能整体出现下滑时,告警事件(如
慢SQL
、XXX执行过缓
)可能会以更高频次发生,此时也会增大SLA时时记录告警信息的开销
场景设计
对比结果
在分别压测两组用例80分钟后,如剔除不可控的环境干扰因素,两组数据结果是相似的。在创建流程
场景,开启SLA服务略微比关闭SLA服务低出0.1%
差异
A用例,开启SLA服务 | B用例,关闭SLA服务 |
---|---|
登录-Min(6毫秒)/Avg(167毫秒)/Max(1.01秒) | 登录-Min(6毫秒)/Avg(185毫秒)/Max(1.09秒) |
创建流程-Min(16毫秒)/Avg(87毫秒)/Max(3.25秒) | 创建流程-Min(16毫秒)/Avg(81毫秒)/Max(3.14秒) |
累计创建188,662个流程和188,662个任务 | 累计创建188,855个流程和188,855个任务 |
为获得真实的平台性能数据,在客户进行高并发压测时,建议关闭SLA服务。原因是SLA可能会监控到各种慢服务并记录至数据库,导致压测结果不能真实反应压测用例要求
修改如下配置,重启AWS PaaS服务
//参数true/false
%AWS-HOME%/bin/conf/aws-sla.xml#service
建议
aws-sla.xml
的pullCollectionInterval
采集间隔在10-200秒。如果采集间隔大于300秒,会造成5分钟数据不准确;如果采集间隔大于3600秒,会造成1小时数据分布不准确;