一、性能测试准备工作
1、理解业务架构
画出业务架构调用关系图
1)是否有DB,Redis,是否有第三方接口依赖
2)接口调用链
接口是读还是写,哪些是影响性能的变参,返回值
2、测试环境
线上:影响正常业务的风险,单机器压测还是多台机器 压测,是否需要做隔离,缓存是否需要关闭等
预发:评估预发环境和线上环境的差异,预发压测结果的可用性,尽量保证预发环境和线上环境相似(比如需要造数据保证未来数据量)
如果只是机器配置不一样,线上性能则可根据预发环境性能结果进行大概换算。找到测试环境和生产环境的性能倍率,这个可能要运维提供换算方式,对软、硬件进行综合评估。(找运维评估,或者根据不同配置做压测)
抽取几组TPS数据,找出随着TPS增长时,性能的损耗率(预测线上环境的性能)
3、资源配置检查&资源监控
各资源配置是否满足压测指标要求,比如服务器内存,CPU,线程池配置等
列出需要监控的服务器资源站点,监控工具
Redis或者DB库表,联系好DB监控人员
4、性能测试脚本准备
单脚本调试,接口功能稳定,哪些字段需要参数化
准备几个脚本,各接口比例
5、性能测试策略
性能策略配置,比如从几个线程开始压,压多久;是否需要关闭缓存
是否需要做稳定性压测
6、测试计划和排期
预计工时,压测时间段
7、性能测试执行前需要确认下资源配置
比如线程配置,cpu配置,内存,机器,以及一些中间件配置