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/httpd-2.4.38/support/ab.c
apache/apr-1.6.5/network_io/unix/sendrecv.c
安装时需要apr-util时可能需要一个xml解析器expat_2.1.0.orig.tar.gz,这个得用root安装
./configure --prefix=/home/uuuuser/liuyi/apache/install --with-apr=/home/uuuuser/liuyi/apache/apr-1.6.5/ --with-apr-util=/home/uuuuser/liuyi/apache/apr-util-1.6.1/ --with-pcre=/home/uuuuser/liuyi/pcre/install
apache ab 结果Failed requests探究的更多相关文章
- ab输出信息解释以及Failed requests原因分析
ab是apache自带的压力测试工具.ab进行的一切测试本质上是基于HTTP的.下面是对ab输出项信息的解释和出现Failed requests原因分析.测试实例:1. ab输出信息说明: 1 2 ...
- ab小工具的Failed requests多的问题
ab小工具的Failed requests多的问题 这个是PHP返回的length不一致造成的 是ab的bug 所以不用理会.. 测试并发写100就行了 一般100没错误
- apache ab测试命令详解
这篇文章主要介绍了apache性能测试工具ab使用详解,需要的朋友可以参考下 网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种 ...
- Apache ab参数--压力测试
Apache附带的ab,它非常容易使用,ab可以直接在Web服务器本地发起测试请求.这至关重要,因为我们希望测试的服务器的处理时间,而不包含数据的网络传输时间以及用户PC本地的计算时间. 需要清楚的是 ...
- 使用Apache ab进行压力测试(参数说明)
我们一般会使用Apache自带的ab来对项目进行压力测试,看项目的执行情况如何. 我们可以使用 ab -v 来查看ab的详细参数使用方法. [root@node234 bin]# ./ab -v ab ...
- 使用Apache ab进行http性能测试
Mac自带了Apache环境 打开“终端(terminal)”,输入 sudo apachectl -v,(可能需要输入机器秘密).如下显示Apache的版本 接着输入 sudo apachectl ...
- Apache ab并发负载压力测试
由于现在网站都需要能够承受高并发要求的能力,所以当我们写完代码后,如果需要上线,最好都经过压力测试后,这样比较好 运行: 在Windows系统下,打开cmd命令行窗口,定位到apache安装目录的bi ...
- Web性能压力测试工具之Apache AB 详解
下载安装地址: http://httpd.apache.org/download.cgi yum install httpd-tools http://www.apachelounge.com/dow ...
- 【转】开源性能测试工具 - Apache ab 介绍
版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途.本人保留对本文的一切权利.如需转载,请在转载是保留此版权声明,并保证本文的完整性.也请转贴者理解创作的辛劳 ...
随机推荐
- orcal - 多表查询
SQL1999语法标准 CROSS JOIN 产生笛卡尔积 SELECT * from EMP CROSS JOIN dept; NATURAL JOIN 自然连接 相同列 SELECT * from ...
- [Torch]提示torch.inverse错误
来源:https://blog.csdn.net/zziahgf/article/details/72548128 当执行官方第二个例子时,提示xs = torch.inverse(A)*b错误 是因 ...
- 关于VS2010 在设计窗口时控件消失问题
我特喵的,见鬼了. 几个相同的Tabpage中添加相同toolStrip控件,每次都是第二个Tabpage中的消失,但是查看设计器下面又显示控件存在,点击也会出现,运行后就没有了,真的是奇怪. 最后经 ...
- 41_redux_counter应用_react-redux版本
问题: redux与react组件的代码耦合度太高 编码不够简洁 react-redux 1)是一个react插件库 下载: npm install --save react-redux@5.0.6 ...
- configure,make,make install作用和关系的一些理解
一. 整体关系 为求直观,画了一张大致关系图: 我个人的理解是这样的,将编译安装比作做菜的话, △ configure的作用,以厨师的构想以参数的形式作为输入,生成并输出菜谱,菜谱包含两个部分---- ...
- pop() 删除掉数组的最后一个元素
下面的代码首先创建了一个拥有四个元素的数组 myFish,然后删除掉它的最后一个元素. let myFish = ["angel", "clown", &quo ...
- 在java程序当中怎么获取一个文件的路径
在java程序当中怎么获取一个文件的路径? * 当这个文件在类路径下的时候(在src/bin目录下的时候): String absolutePath = Thread.currentThread(). ...
- layui-xtree 设置单选框,只能选一个
以下是js代码,首先获取所有节点,再设置只有当前点击的节点状态为选中状态 $.ajax({ type: 'get', url: url, error: function(err){ layer.ale ...
- MySQL实现批量检查表并进行repair与optimize的方法
这篇文章主要介绍了MySQL实现批量检查表并进行repair与optimize的方法,结合实例形式分析了MySQL批量修复与优化表的相关技巧,需要的朋友可以参考下 本文实例讲述了MySQL实现批量检查 ...
- 获取BDC 消息文本的2种方式
第一种 LOOP AT MESSTAB. MOVE MESSTAB-MSGNR TO MSGNO. CALL FUNCTION 'WRITE_MESSAGE' EXPORTING MSGID = ME ...