apache ab 结果Failed requests探究

Posted 阮減显

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache ab 结果Failed requests探究相关的知识,希望对你有一定的参考价值。

Failed requests: 537
(Connect: 0, Receive: 3, Length: 268, Exceptions: 266)

 


Receive:当客户端connect成功后,并且服务端成功accept,并且没有开始recv,然后服务端close掉socket,就产生这个错误(平时多见于服务端主动close掉客户端连接,即客户端表现为Connection reset by peer)

Length:即读到的报文长度不等于http头的content-length值(c->bread != doclen)。当读到的报文长度c->bread等于0时,并且apr_socket_recv返回APR_EOF,意味着服务端成功accept,并且已经开始接收(可能已经接收完整个报文,也可能没有),但因业务繁忙,来不及处理已经接收的报文,当服务端发现报文已经超过设定的过期时间,就close掉socket。

Exceptions:多见于网络发生错误,导致监听的事件出现APR_POLLERR,分以下两种情况


err_except发生在revc阶段,即出现事件(APR_POLLERR<指定的文件描述符发生错误>或者APR_POLLNVAL<指定的文件描述符非法>),一般常见是POLLERR。在读取数据阶段出现Resource temporarily unavailable,服务端close掉socket,read_connection后会产生APR_POLLERR事件,导致err_except+1。上面的Length 错误不一定会引发err_except(此问题还未解决)。

err_except发生在connect阶段,即出现事件(APR_POLLERR),并且错误描述为Operation now in progress,并且所有的并发socket都已经建立(destsa->next==0),导致err_except+1。这个貌似不太合理。

 

 

总之Length和Exceptions是会有重叠的。

对于定长网页的访问,出现Failed requests多由于网络,或者服务端主动行为造成的。




以上是关于apache ab 结果Failed requests探究的主要内容,如果未能解决你的问题,请参考以下文章

Apache ab性能测试结果分析

我应该如何解释 Apache 的 ab 基准测试工具的结果?

Apache ab性能测试结果分析

Apache 的ab测试

Tomcat启动报错org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with Pro

ab网站压力测试