目录
生产只读业务压测及容量评估阶段的主要目的是获取系统在生产环境 中只读业务的性能和容量表现 (如生产网络带宽、生产中间件配置等)。
在生产环境开展只读业务的性能测试时,需要具备以下几方面的能力。
一、风险监控能力:
指业务系统能够对生产环境中的业务系统进行实时监控 ,包括对业务主机 的基础监控 、对业务系统的业务监控 等。目的是在压测过程中能够及时掌握系统的性能情况 ,避免在没有监控的情况下发生系统直接宕机 的情况。同时,压测过程也是验证业务系统本身的监控能力的一个重要手段。
二、风险流控能力:
指业务系统的流量控制 和压测平台的流量控制 两个方面的能力。在业务系统本身的设计上,可以通过开关控制系统能够接收的流量 ,如通过负载均衡设备 或者网关进行限流操作 。在压测平台的设计上,可以通过设置阀值来自动控制流量 ,当流量超过间值时,减少请求流量对系统的压力,在未达到团值时逐渐增加流量 。这两方面流量控制的能力可以更好地实现对流量的风险控制,保障系统在压测过程中的稳定。同时,压测过程也是验证业务系统流控能力的一个重要手段。
三、风险熔断能力:
指业务系统对压测流量进行熔断的能力 和压测平台自身具备的熔断能力 两个方面。在业务系统本身的设计上,当系统达到某种情况时直接熔断流量,不进入后续系统或服务,比如A调用B系统 ,当A系统发现B系统已经超过A系统设置的时间时,自动熔断B系统之前的流量 ,来保障A系统可以运行 。在压测平台的设计上,可以配置当单服务达到某些情况时自动熔断发压流量,比如当服务器的CPU利用率达到90%时 ,自动熔断压测流量 。该能力的目的是更好地保护系统不在压测时发生重大生产事故。同时,压测过程也是验证业务系统熔断能力的一个重要手段。
如果无法保障这些能力,在生产压测过程中会存在较大风险,可能会导致系统直接宕机,给业务造成重要影响,造成经济损失。
生产只读业务压测及容量评估阶段包括以下几方面内容:
只读业务功能在生产环境的性能表现;
只读业务在生产环境下的容量支持情况;
验证生产环境中系统的监控能力、风控能力 。该阶段是对线下全链路压测分析阶段的补充 ,补充了系统在生产环境中的性能情况 以及业务系统的健壮性情况。
生产只读业务压测及容量评估阶段主要由以下几方面因素影响:
线下压测存在业务场景不足的情况,比如线下环境的配置与生产环境不一致导致无法了解生产环境支持的性能情况;
业务系统的复杂度较高导致线下准备完全一样的环境对一部分企业来说比较困难;
除了了解业务系统本身性能外,还需要做相关业务系统生产可靠性方面的测试验证。
这是性能工程的第三阶段 ,主要是在生产环境中进行只读业务的全链路压测 。在理论规范方面,主要对生产压测上的方案设计 以及生产压测之前的众多准备工作有了更高的要求 。在工具平台方面,不仅需要具备第三阶段的能力,还需要具备智能化的控制告警能力。在组织文化方面,要求团队除了具备压测的能力外,还需要了解运维方面的知识 ,此外更需要了解系统在架构设计方面的知识。
生产环境对只读业务进行压力测试时注意事项?
在生产环境中对只读业务进行压力测试时,虽然这种类型的测试相对较为安全 ,因为不会直接修改数据库中的数据 ,但仍然需要谨慎行事以避免给系统带来不必要的风险。以下是一些重要的注意事项:
一、提前规划与沟通:
确保所有相关团队(包括但不限于开发、运维、DBA等)都已被告知测试计划,并且了解其目的和可能的影响。这有助于减少误解并确保所有人都准备好了应对可能出现的问题。
二、选择合适的时间窗口:
尽量安排在业务低峰期进行测试 ,以减少对正常用户访问的影响 。同时也要考虑到任何可能的全球性因素,比如节假日或特定事件期间流量的变化。
三、监控与日志记录:
加强监控措施,确保能够及时发现性能下降 或其他异常情况。此外,详细记录整个过程中的各项指标变化,为后续分析提供依据。
四,备份重要数据:
尽管是只读操作,但出于安全考虑,最好还是做好关键数据的备份工作 。这样即使出现问题也能快速恢复。
五、逐步增加负载:
不要一开始就施加最大负载,而是应该从较小规模开始逐渐增大,观察系统反应。这样可以帮助识别出系统性能瓶颈的具体位置。
六、注意资源限制:
检查服务器配置,确保有足够的CPU、内存 等资源来支持预期的负载量。 如果预计会超出当前资源限制,则需提前调整或扩展容量。
七、制定应急计划:
事先准备好一旦发现问题时可以立即采取的行动方案 。例如,如何迅速停止测试、回滚变更或者启用备用服务等。
八、关注用户体验:
即使是在后台运行的压力测试,也应该密切关注前端用户的体验是否受到影响。可以通过设置一些关键性能指标(KPIs)来衡量这一点。
九、合法性与合规性考量:
确保所执行的所有活动都符合相关的法律法规要求,特别是涉及到个人隐私信息处理时更需小心。
通过遵循上述建议,可以在最大程度上降低风险的同时有效地完成生产环境下只读业务的压力测试。
阅读后若有收获,不吝关注,转发,留言等操作!!!