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 介绍
版权声明:本文可以被转载,但是在未经本人许可前,不得用于任何商业用途或其他以盈利为目的的用途.本人保留对本文的一切权利.如需转载,请在转载是保留此版权声明,并保证本文的完整性.也请转贴者理解创作的辛劳 ...
随机推荐
- 创建只读账号oracle
1.创建用户,指定哪个表空间create user test2 identified by "123" default tablespace BDCDJ_XC temporary ...
- python中线程的知识点
什么是线程? 程序的执行线路.每个进程默认有一条线程.线程包含了程序的具体步骤. 多线程就是一个进程中有除主线程(默认线程)外还有多个线程. 线程与进程的关系(进程包含线程,而线程依赖进程存在) 1. ...
- lvs的负载均衡测试
近来工作闲暇之余,知道自己的知识欠缺,就在网上找来一些学习视频进行学习,在学习的时候,按照讲课老师的讲解步骤进行配置lvs负载均衡,配置环境如下图: 客户端是我本机的虚拟网卡vmnet8 lvs调度器 ...
- 浅谈Java堆内存分代回收
目录 1.概述 2.堆内存是如何分代的 3.各分代之间是如何配合工作的 1.概述 与C++不同的是, 在Java中我们无需关心对象占用空间的释放, 这主要得益于Java中的垃圾处理器(简称GC)帮助我 ...
- ExtJS4.2下将表单元素放在菜单时不能进行拷贝的问题解决办法
通过浏览器F12我们发现,在菜单对应的dom元素上面,有几个系统附加的事件处理函数,只要我们将它去掉就可以了.示意代码如下: { xtype: "button", scope: z ...
- 用 ghostscript 转化PDF文件为图片 的参数设置
example: gswin32 -dSAFER -dBATCH -dNOPAUSE -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=jp ...
- TCP连接笔记
每个socket套接字都有一个引用计数. 调用close时只是将相应的引用计数减1. 只有当引用计数为0时才会真正的清理套接字资源,也就是发送FIN. 若只是想在某个TCP连接上发送一个FIN可以改用 ...
- selenium的browser.page_source无法返回页面内容
selenium的browser.page_source无法返回页面内容 可能是编码的问题.. html= (browser.page_source).encode('GBK', 'ignore') ...
- R语言-时间序列图
1.时间序列图 plot()函数 > air<-read.csv("openair.csv") > plot(air$nox~as.Date(air$date,& ...
- SocketIO Server
package com.fd.socketio; import org.json.JSONObject; import com.corundumstudio.socketio.AckRequest; ...