API Gateway模块承接用户压力调控指令, 并把压力调控指令转发到Stress Contoller (压力调控中心)。
Stress Controller是压力调控的大脑, 会根据压力调控策略向压测集群中的施压机下发调控指令, 并根据反馈数据, 决定下一步调控策略。
Test PG基于Redis实现了动态配置缓存。压力调控指令通过动态配置缓存下发到压测集群, 更具体来说是下发到压测集群中的每台施压机上,目前Test PG采用两种方式实现动态配置的下发,分别是施压机主动拉取和通过发布订阅模式进行实时推送。 压力调控指令下达到施压机后, 压测引擎运行实例会加载压力调控配置, 实时调整压力。
每个压测引擎都会实时上报自己到压测指标(比如qps,rt等)和施压机的性能指标(比如cpu占用率,load率等)到TSDB时序数据库,TSDB建立了压测集群和压力调控中心之间的反馈渠道。Stress Controller定期查询TSDB,获取每台施压机以及整个压测集群的压测指标作为反馈数据, 根据这些反馈数据判定单机压力调控成功与否, 整个压测集群压力调控成功与否, 并且会根据反馈数据决策是否进行进一步的调控。
基于以上架构, TestPG压测平台在精准控压建设上,已实现了集群和接口两个级别的精准调控。
以上内容摘自《高德技术2020年刊合集》电子书,点击https://developer.aliyun.com/topic/download?id=1135可下载完成版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。