
上图是全国健康码质量拨测质量视图。
我们也可能在系统内部建立起对第三方接口的拨测,达到自证清白的效果。低成本的拨测解决方案有 blackbox exporter等。

上图是某健康码业务的第三方接口拨测,有助于自证清白。
4 容量压测
疫情往往会瞬时带来比平日峰值数倍甚至数十倍的亮码业务量,增长幅度较大,运维团队一般无法即时进行扩容,所以在疫情增长趋势较为明显时,我们会预估业务量,并与业主沟通进行扩容,扩容后完成性能压测。
1)读接口压测
我们会从系统随机抽取一部分用户,向系统模拟数十倍峰值请求来进行压力测试。压测的同时向第三方接口报备压测流量,以免造成第三方系统损坏。
2)写接口压测
写接口涉及到数据写入到生产环境,所以一般采用两种形式进行压测。一种是标记数据压测、比如采用一些模拟用户ID 号段的用户生成清求,压测完成后采用删除压测数据的方式进行清脏。另一种是压测请求http头内携带压测标记,业务代码内对压测请求特殊处理,旁路插入测试库。
腾讯云压测团队提供了一系列的压测工具及服务,有效助力每个健康码业务疫情期容量保障。
3)压测排障
压测过程中碰到瓶颈常见于:单核跑满——存在于某些应用使用单核的情况,一般需要做业务改造,使系统运行在多核;负载过高——如CPU过高,虚拟机包量超 10W等;防火墙等数通链路故障——防火墙可能会存在带宽限制、新建会话数限制等 (不限于互联网出口防火墙、区域间防火墙);PAAS能力限制——如redis单机版单核跑满,连接数跑满等;第三方接口延时过高——如第三方接口不能承压等情况;某些私有云存在大量CPU超分。在压测过程中发现并解决能力短板,从而使系统能达到理想的容量。
5 混沌工程与故障演练

上图是健康码混沌工程实践。每个健康码从新上线到成熟,产品与运维团队都经历了组建至成熟的过程,通过故障演练,团队能快速找到产品架构薄弱点、组织效率瓶颈点,演习完成后可有针对性对演习中发现的问题进行优化,经历过多次演习,架构高可用能力与组织效率均能有所提高。
1)检验服务的高可用性,如架构无单点,具备健康检查、负载均衡等能力
通过关机、网卡禁用、实例调整等手段模拟故障,检验在IaaS/PaaS出现故障时,业务是否会受到影响,业务能否自动切换,后端业务能否自动止损熔断等。
2)检验监控覆盖度和有效性,如基础监控、业务指标监控的覆盖度和告警有效性
通过关机、网卡禁用、实例调整等手段模拟故障,检验基础监控手段能否及时发现问题,业务监控手段能否及时发现业务抖动,告警能否触达到相关的运维人员。