- 追求更高的并发、担心用户量太大导致系统崩溃【占比性能测试场景中80%】
前置条件:
- 性能测试环境最好保持与生产环境一样的配置
- 固定的硬件配置:Cpu、内存、网络、磁盘
- 固定的软件配置:连接池配置、JVM配置、限流配置
ps:不允许性能测试过程中动态变化
压测方式:根据机器数量,分为单机和集群压测。理论上先单机,再集群压测。
集群部署机器有网络传输性能损耗,损耗大概10%,结合系统进行压测
此时考虑负载均衡:ngix,f5分发请求,类似于路由器,因此吞吐量会小一些
测试方式:
1、模拟海量用户请求系统
2、预估线上并发用户数,最高峰值:
- 市场:市场规模:用户数,是否拉新
- 产品:产品规划、产品日活:20%-30%、产品的用户习惯:例如用户使用时间分布在8-9点,例如打卡场景,平均1000次/s,但不一定是峰值
- 架构师:
已有系统:线上系统数据。
新系统:经验值:10倍,100010
3、尖峰测试+梯度加压:
*jmeter插件:终极线程组插件。可以模拟所有场景,可根据实际用户曲线
性能测试能否通过标准:
- 错误率小于0.01%,如果上千个请求,错误率要求为0,其他可以小于0.01%
- 请求响应时间【产品提的要求】
- 资源是否在接受范围
- 追求更短的响应时间
- 追求更少的资源
测试分析+测试执行+测试结果=40:30:30