项目需求背景--性能压测分析

项目背景与目标:

        进一步提升和优化用户体验,降低机器负载成本且后台服务支持容器动态部署与快速扩容,增加数据通信安全性。

具体技术方案:

ios.andorid   移动端  < --  >  grpc.service.gw  grpc=网关 

                                                            |

                                                    demo1.service.gw,   demo2.service.gw   -> demo1.service

大白话:

移动端 根据设备 与grpc.service.gw 建立 长链接 -- 高速公路

用户注册/查询/登录 业务请求  -- 汽车


性能压测关注点:

1.grpc 长链接 支持 最大数,单CPU支持最大/最优链接数;

2.grpc  长链接 稳定性;

3.具体业务TPS与响应时间;

4.具体业务单CPU支持最大/最优TPS。


项目业务数据背景:

1.设备用户数 10W + ;

2.业务请求包含http,grpc,nettey接口;

3.http统计有 普罗米修斯监控,grpc与nettey接口响应需要自己统计;

4.设备用户与grpc长链接 1: 1 。


压测工程技术点:

   可以划分两个过程

  1. 针对grpc.service.gw grpc网关压测;

    关键点:grpc 初始化链接, grpc心跳包检测

  2. 在1点基础上,进行业务压测。

    关键点:需要动态维护10W+ 有效grpc.client -- 类似与压测点参数话部分

    关键点:动态的业务请求控制与有效请求与业务数据统计

整体难点:

10W+ 长链接多线程管理且压测工具性能

解决思路:

master locust python

salve boomer goland

使用goland语言天生对多线程优势,和对grpc\nettey更灵活对扩展性实现salve端代码,使用locust 主从模式与数据统计,后期不排查需要扩展locust统计图表功能。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容