正常的HTTP请求响应码为2XX,表示成功响应,但是测试过程中经常会遇到响应码为5XX的情况。常见的5XX响应码有500和502错误:
* 500 错误
原因:500错误表示服务器内部错误
案例:出现500错误时,服务端日志中同时会出现错误日志,曾经遇到的错误有:数据库处理能力成为瓶颈,连接数不够,出现get null from pool 异常,通过调整DDB 连接池的大小解决该问题。
定位方法:当遇到500错误时,首先查看服务端日志,通过错误日志信息进一步定位返回码错误的原因。
* 502错误
原因:502错误是网关错误,同时nginx error日志中会出现(104: Connection reset by peer) while reading response header from upstream
案例:曾经一次性能测试过程中,因为并发连接数超过了nginx配置的最大连接数,导致出现502错误,通过调整nginx的最大连接数解决该问题。
定位方法:
出现502以及Connection reset by peer错误的常见原因有:
1 、并发连接数大于服务端最大连接数,服务端会将其中一些连接关闭掉;
2 、客户关掉了浏览器,而服务端还在给客户端发送数据;
当测试过程中出现该错误时,可以从以上几个方面定位问题。
|