一、架构图
网络拓扑图
二、策略中心性能环境搭建。
【确定性能环境各微服务的配置。】
1、nginx*策略中心应用服务[两个节点],
- gauss-counsel ,cloud-strategy-fe,nginx(4c8g);
- counsel-dashboard,counsel-audit-center,counsel-aitrain,xspace,gateway,[8c16g];
2、mysql,redis,zk,kepplive;(4c8g)
3、es、kafka、logstash
4、一台压力机
三、性能测试
3.1、压测背景
3.2.压测数据准备
【记录需要准备哪些压测数据,以及如何准备。(Tips:生产压测尽可能模拟真实用户、真实商户的场景,考虑多机房、数据分片等情况)】
如:准备策略数据:1个极限实例(1500个规则,数据源规模为4种数据源共20个(被命中规则优先级最低))+其它实例10个实例(每个实例10包*20规则)
3.3.压测场景目标及加压方式
高并发/高资源损耗场景:调用策略执行,看板统计数据
【待确认本次压测接口目前高峰期QPS、平均响应时间,期望QPS、期望平均响应时间等。】
场景 | 测试目标 | 压测时长 | 当前QPS | 期望QPS | 当前平均响应时间 | 期望平均响应时间 | 期望CPU | 期望内存 | 加压方式 |
(并发)调用执行接口 | 测试单个数据性能性能 | 30min | 无 | 小于150ms | CPU<60% | 内存<60% | 单线程调试后,按2,4,6...10...20 加压,直至系统资源到达瓶颈; | ||
其他极限场景 (待补充) |
3.4、压测监控指标
【与研发确认需要监控哪些指标(比如:CPU,load,jvm,中间件、DB等),确定监控的合理范围。】
3.5.脚本准备
【记录选用何种方式开发压测脚本,以及为何选用此种方法开发压测脚本。】
示例:编写JMeter脚本,通过CPS进行压测,由于本次压测的查询活动和开奖接口均无参数化需要,所以参数写死即可。
3.6.压测执行
【确认压测之心步骤,若数据何时刷进去,对应脚本何时执行】
3.7.压测结果及报告输出
四、待完成任务:
1、性能环境的搭建
2、性能测试脚本准备/高可用场景脚本命令准备
3、性能测试数据准备
4、性能测试执行
五、排期
【填写计划压测的时间,便于后期追溯】
1天 | 搭建性能、高可用测试环境@开发同学 准备数据数据@测试同学 | |
0.5天(2月x日待定) | 修复版本功能验证 | |
0.5~1天 | 压测 |