码迷,mamicode.com
首页 > Web开发 > 详细

apache ab 结果Failed requests探究

时间:2019-02-20 17:11:01      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:问题   length   socket   receive   apache   temp   ora   读取   取数据   

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探究

标签:问题   length   socket   receive   apache   temp   ora   读取   取数据   

原文地址:https://www.cnblogs.com/ruanjianxian/p/10407572.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!