
# JMeter测试报告概述
JMeter测试报告提供实时、离线两种类型的测试报告，供用户随时查看和分析测试数据。
#### 报告总览
测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能，为了更好阅读测试报告，请参考以下信息：
- **统计维度：**测试报告的RPS、响应时间、并发等统计维度均为单个线程组，如线程组中有请求多个报文，只有在多个请求报文均正常返回时才会认为成功，响应时间也是多个请求报文的求和值。
- **响应超时：**出现该情况是在设置的响应超时时间内（Jmx自定义），对应的TCP连接中没有响应数据返回时，会将本次线程组请求统计为响应超时。出现原因一般是被测服务器繁忙、崩溃、网络带宽被占满等。
- **校验失败：**从服务器返回的响应报文不符合预期（针对HTTP/HTTPS默认的预期响应码为200），比如服务器返回404、502等。出现原因一般为高并发情况下被测服务无法正常处理导致的，如分布式系统中数据库出现瓶颈、后端应用返回错误等。
- **解析失败：**响应报文已全部接收完成，但是部分报文丢失导致整个用例响应不完整，这种情况一般需要考虑网络丢包。
- **带宽统计：**本报告统计的是性能测试服务执行端的带宽，上行表示从性能测试服务发出的流量，下行表示接收到的流量。如果是外网压测场景，您需要关注执行机的EIP带宽是否可以满足上行带宽的要求。而下行带宽需要关注单台执行机是否超过1Gbps。
- **RPS：**Requests Per Second，每秒请求数。平均RPS=统计周期内的请求总数/统计周期。
- **如何判断被测应用优劣：**根据应用本身的服务质量定义，理想状态是没有任何响应失败、校验失败的情况，如果有，需要在服务质量定义范围之内，通常情况下不超过1%，同时响应时间越低越好（2s内体验较好，5s内可以接受，超过5s则需要考虑优化），TP90、TP99指标可以客观反映出90%、99%用户的体验响应时间。
JMeter测试报告说明如[表1]所示。
 表1JMeter测试报告说明 
| 参数       | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|
| 各项指标总量   | 所有线程组各项指标总量的汇总。 - 最大并发：最大并发操作的虚拟用户数。  - RPS：每秒请求数。  - 正常返回：如设置了检查点，检查点通过的事务响应数，如未设置默认为返回2XX的事务响应数。  - 响应时间：指从客户端发一个请求开始计时，到客户端接收到从服务器端返回的响应结果结束所经历的时间。  - 响应码：记录压测任务进行中响应码分布的情况。  - 带宽：记录压测任务运行所消耗的实时带宽变化。  - 异常返回：解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的事务响应数。  - 成功率：正常返回请求数/总请求数。   |
| 平均RPS    | 统计周期内的请求总数/统计周期。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 平均RT     | 记录压测任务平均响应时间的变化。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 并发数      | 记录压测任务运行时，当前并发操作的虚拟用户数的变化。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 带宽（KB/S） | 记录压测任务运行所消耗的实时带宽变化。 - 上行带宽：从JMeter测试执行机往外发送出去数据的速度。  - 下行带宽：JMeter测试执行机接收到数据的速度。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 响应状态分布   | 正常返回、异常返回、解析失败、校验失败、响应超时、连接被拒绝和其他错误的每秒处理事务数，该项指标与思考时间、并发用户、服务器响应能力均有关，比如思考时间为500ms，如果服务器对于当前用户的上个请求响应时间小于500ms，则该用户每秒请求2次。 - 正常返回：如设置了检查点，检查点通过的事务响应数，如未设置默认为返回2XX的事务响应数。  - 解析失败：HTTP响应无法被正常解析的数量。  - 校验失败：如设置了检查点，检查点未通过的事务响应数，如未设置，返回不是2XX的事务响应数。  - 响应超时：是在设置的响应超时时间内，对应的TCP连接中没有响应数据返回的用例请求数量。  - 连接被拒绝：发送报文建立连接时，服务器拒绝连接数。  - 其他错误：不属于以上几种错误的数量。                                                 |
| 响应码分布    | 1XX/2XX/3XX/4XX/5XX。 - 1XX：表示请求已被接收，服务器正在继续处理。  - 2XX：表示客户端的请求已成功被服务器接收、理解并处理。    - 3XX：表示客户端需要采取进一步的操作才能完成请求，通常用于URL重定向。  - 4XX：表示客户端发生了错误，妨碍了服务器的处理。  - 5XX：表示服务器无法完成明显有效的请求。                                                                                                                                                                                                                                             |
| 响应时间区间比例 | 用例的响应时间区间比例。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| TP最大响应时间 | 指在一个时间段内（如10s），统计该请求每次响应所消耗的时间，并将这些时间按从小到大的顺序进行排序，取对应的百分比的那个值作为TPXX的最大响应时间。 - TP50：指在一个时间段内（如10s），统计该请求每次响应所消耗的时间，并将这些时间按从小到大的顺序进行排序，取第50%的那个值作为TP50的值。  - TP75：指在一个时间段内（如10s），统计该请求每次响应所消耗的时间，并将这些时间按从小到大的顺序进行排序，取第75%的那个值作为TP75的值。                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
