前言
Xxx
本次压力测试目的是模拟测试环境用户使用过程的系统负荷,主要测试系统的可靠性、稳定性,利用性能测试工具JMeter模拟并发用户对平台进行压力测试,对其处理能力进行性能评估.
- 并发用户数
指同一时间同时发出请求的用户数,正常会影响CPU、网络使用率。
- 响应时间指标:
在聚合报告中,包含了 Average(平均响应时间)、Median(中位数响应时间)、90%Line、95%Line、99%Line、Min(最小响应时间)、Max(最大响应时间)等四个时间指标。这些值越小,表示接口的响应速度越快,效果越好。然而,实际工作中通常关注 90%Line 值,因为它表示 90% 的响应时间都在某个特定值以下,比如小于 43ms。相比之下,Average 的平均响应时间在一般情况下参考意义不大。可以参考以下标准:2秒内响应是非常好的,5秒内响应一般,在可接受范围内,8秒响应达到上限,超过8秒客户一般无法接受。
- 吞吐量指标:
聚合报告中的 Throughput(吞吐量,即 TPS)表示服务器每秒处理的请求数或任务数。该值越大越好,反映服务器处理能力的强弱。
- 错误率指标:
在聚合报告中的 Error%(错误率)是指错误的请求数量与总请求数的比例。错误率越低越好,理想情况下应当接近于零,表示没有异常请求。对于一般业务而言,错误率要保持在万分之一以下。
项目测试环境
部署环境:
名称 | 说明 |
服务器操作系统 | |
数据库软件 | |
JAVA版本 | |
服务器配置 | |
磁盘 |
测试机环境:
名称 | 说明 |
操作系统 | |
浏览器 |
- 测试场景说明
场景 | 业务名称 | 模拟场景 | 测试检查点 |
场景1 | 混合场景 - 瞬时压测 | 50个用户在1秒内同时进行登录操作,测试运行时间为10分钟,并持续循环执行该场景。 | 50个线程并发,观察异常率、吞吐量等指标 |
场景2 | 混合场景-瞬时压测 | 100个用户在1秒内同时进行登录操作,测试运行时间为10分钟,并持续循环执行该场景。 | 100个线程并发,观察异常率、吞吐量等指标 |
场景3 | 混合场景-瞬时压测 | 200个用户在1秒内同时进行登录操作,测试运行时间为10分钟,并持续循环执行该场景。 | 200个线程并发,观察异常率、吞吐量等指标 |
场景4 | 混合场景-稳定性测试 | 100个用户在100秒内启动,测试运行时间1h,并持续循环执行该场景。 | 查看聚合报告中的响应时间、异常率、吞吐量指标 |
场景5 | 混合场景-稳定性测试 | 100个用户在100秒内启动,测试运行时间1h,并持续循环执行该场景。 | 查看聚合报告中的响应时间、异常率、吞吐量指标 |
本次使用Jmeter测试工具,利用HTTP发送GET/POST请求并通过断言验证是否访问成功,通过执行场景压力运行测试,生成聚合报告,并绘制响应时间和每秒处理事务数等折线图表来进行结果分析。
测试工具 | 工具作用 | 工具版本 | 工具数量 |
Jmeter | WEB性能测试工具 | V5.2.1 | 1 |
50并发量运行10min
100个线程运行10min
200线程同时在线10min
100线程同时在线1h
测试结果分析
在混合测试场景下进行瞬时负载测试,测试1s内启动200个并发时,异常率为0% 平均响应时间均小于3s,吞吐量为40/s,性能结果可观。
在混合测试场景下进行压力测试,200并发压力测试持续运行了1小时,其中单个接口的异常率在0.01%,90%的响应时间平均值在641ms,吞吐量为40.1/s整个运行过程中,平均响应时间、业务处理能力(TPS)性能指标正常,平均响应时间和吞吐量符合预期。
结论: 经过5伦压测,系统表现良好,响应时间和吞吐量均在可接受范围内。未发现明显的性能瓶颈或问题。