👌如何准备项目压测?
一道开放题,年限高的会问到,初入茅庐的小伙伴会问。我不是开发吗。为什么问压测的问题!压测研发同样要配合很多东西。考察你的全局掌控能力。主要是要先梳理清楚几个方面。
数据库层面梳理
数据库层面我们重点关注的是高可用,慢sql,预警,连接池,读写分离。
比如库名,数据库从库是否在两个以上,并且从库不在同一个机房,是否订阅慢SQL,数据库线程池是否配置合理,是否有考虑库存容量及增长情况,数据库是否做了读写分离等等。
Redis层面
梳理集群,缓存主备是否双写,是否具备动态切换机制,是否考虑缓存容量及增长情况,是否配置缓存报警,是否有key未设置过期时间,是否存在热Key,是否存在大Key
应用层面
梳理是否为双机房部署,JVM配置标准化检查,内存占用率排查,是否设置磁盘预警规则
消息队列层面
梳理TOPIC,队列类型,是否配置消息积压报警,是否开启消息归档
外部依赖梳理
作为前台的业务系统,主要是依赖中台的外部接口来进行业务逻辑处理,那么一定要梳理外部依赖的接口,别名,外部接口负责人,是否要提升限流值,限流后触发的现象,以及外部不可用是否有降级措施等等。
梳理依赖的外部接口,当前qps,预估qps ,紧急联系人
资源梳理
容器资源作为我们的基石,我们有必要去把每个服务占用的资源情况梳理清楚,同时判断在618期间是否要进行扩容,来扛住更多的量,分析机房之间的机器数量是否均衡,应该保证1:1的情况。不要造成流量的倾斜。对于一些大的应用,比如超过500核,我们也要认真评估其是否有必要。
梳理,现有应用总容器数,促销活动总容器数,机房,分组,计划扩容数量等等
应用接口梳理
梳理功能模块,接口级别,场景描述,日常QPS(峰值),日常调用量/天,日常TP999,预估QPS,预估调用量,预估TP999,是否压测,负责人
配合测试确定范围
梳理清楚之后,就是和测试进行压测范围的圈定,确定接口和预计达到的巅峰。
压测观察
边压测的过程要边进行观察。如果有异常,或者恶劣影响,及时停止!
压测复盘
复盘压测时不通过的接口,和性能瓶颈,下来进行优化。