引子:收到产品的需求: 当前对于 供应链系统中的订单一次大批量5000单 分页审核时 系统比较缓慢,请在稳定测试环境中对这个 审核 功能做一次 性能压测。
关于这个需求:我们对于 稳定环境 与 真实环境的 区别 先忽略,由于是不同环境配置,这个硬件、网络配置问题 我们先忽略。
简单说明下 我们的系统网络结构,我们的稳定测试环境是部署在内部服务器环境中,所以对于局域网中的网络速度带宽可以忽略,只需要考虑测试负载机出口的带宽11.42MB 。
1、Java.net.UnknownHostException
在开始运行时 请求都是正常得到响应结果,列表中的数据也是一直产生订单数据的,周五下班前执行的,到了周一过来,发现80%左右的请求都是 报 Java.net.UnknownHostException
这个错的含义是 没有连接到服务器地址,因此很可能是 内部网络中断导致。
2、502 Bad gateway
关于502 网关报错,与我们本地脚本与线程数的设置 都是无关,也与 nginx的内存池配置无关(这2个地方都通过优化配置调试过了);当出现这个报错,对我们的监控结果会有部分影响,需要找开发与运维沟通下情况。
如果沟通无果的情况下,也可能是网络不稳定导致(在实际压测过程中 发现隔了一天,我设置了10倍的线程加载 压力,都没有报502错误,环境与测试脚本还是一样的,所以很大可能是网络抖动不稳定导致)。
3、java.net.SocketException: Socket closed
这是我们强制停止线程,连接中断产生的错误,正常压测我们等测试结束就好,不用强制停止。所以这个错误是正常的,我们可以忽略。
4、java.net.SocketTimeoutException: Read timed out
这个错误的导致是由于请求接口 设置的请求超时与 请求响应超时 设置过小所致。例子如下: