apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))

apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))

今天用apache 自带的ab工具测试,当并发量达到1000多的时候报错如下:

[[email protected]~]# This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.1.176 (be patient)

Completed 300 requests

Completed 600 requests

Completed 900 requests

apr_socket_recv: Connection reset by peer (104)

Total of 1085 requests completed

查看应用服务器和数据库均未报错,连接被重置,bingyi了以下,apr_socket_recv这个是操作系统内核的一个参数,在高并发的情况下,内核会认为系统受到了SYN flood攻击,会发送cookies(possible SYN flooding on port 80. Sending cookies),这样会减慢影响请求的速度,所以在应用服务武器上设置下这个参数为0禁用系统保护就可以进行大并发测试了:

# vim /etc/sysctl.conf

net.ipv4.tcp_syncookies = 0

# sysctl -p

然后就可以超过1000个并发测试了。

另附其他系统内核参数说明:

net.ipv4.tcp_syncookies = 0

#此参数是为了防止洪水攻击的,但对于大并发系统,要禁用此设置

net.ipv4.tcp_max_syn_backlog

#参数决定了SYN_RECV状态队列的数量,一般默认值为512或者1024,即超过这个数量,系统将不再接受新的TCP连接请求,一定程度上可以防止系统资源耗尽。可根据情况增加该值以接受更多的连接请求。

net.ipv4.tcp_tw_recycle

#参数决定是否加速TIME_WAIT的sockets的回收,默认为0。

net.ipv4.tcp_tw_reuse

#参数决定是否可将TIME_WAIT状态的sockets用于新的TCP连接,默认为0。

net.ipv4.tcp_max_tw_buckets

#参数决定TIME_WAIT状态的sockets总数量,可根据连接数和系统资源需要进行设置。

参考:

http://zhumeng8337797.blog.163.com/blog/static/100768914201262091634698/

时间: 2024-10-19 06:01:05

apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))的相关文章

ab压力测试报错: apr_socket_recv: Connection reset by peer (104)

使用ab对网站进行压力测试,开始设置并发500,可以正常使用,当设置并发为1000,则报错: apr_socket_recv: Connection reset by peer (104) 改服务端apache的maxclients参数,调大最大打开文件数,都不解决问题,最后才发现是因为ab的源码对ab的并发有限制,修改源码重新编译apache: 修改源码support目录下的ab.c文件,大概在1369行,修改为: return;} else {//apr_err("apr_socket_re

apache ab压力测试报错apr_socket_recv

apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104)) apache 自带的ab工具测试,当并发量达到1000多的时候报错如下: [[email protected] ~]# ab -n 100000 -c 1000 http://192.168.2.170/index.htmlThis is ApacheBench, Version 2.3 <$Revision: 655654 $>Copyright 1996 Ada

【原创】Apache ab测试时出现:apr_socket_recv &quot;connection reset by peer&quot; 104

今天在用Apache自带的ab工具做以下简单的压测,本来是随便填几个参数,发现ab在1000并发以上报错:apr_socket_recv "connection reset by peer" 104 我用的是当前最新版本编译的,Apache 2.4.23 出了这样的问题,作为小白的我直接谷歌,然后百度,找到的都是一些看起来好高大上的答案,但是我并没有实验成功. 其中有一个是修改源代码的,通过这个答案的启发,我发现根本不用修改任何代码或者被测webserver的系统配置(这里仅针对ab出

ab)测试报错: apr_socket_recv: Connection timed out (110)

根据自己的使用经验是: ab压测的目标是在自身服务器上时(即测试地址是127.0.0.1),模拟超过3000人的并发没有问题,在非自身服务器时模拟人数不超过8000人且,并发数和链接数的比例是1:10时也没有太大问题. 网上流传方法一: 使用ab或者webbench做压力测试,如果并发数开到1000的时候,无法完成测试.到晚上查看资料发现是linux网络参数设置. [[email protected] etc]# vi /etc/sysctl.conf在kernel2.6之前的添加项:net.i

ab压力测试遭遇apr_socket_recv: Connection reset by peer (104) 怎么办

ab -r  -c 2000 -n 200000  www.baidu.com 其实只要加上-r就可以了.但是为什么呢?ab --help就知道了 当Socket接收到错误的时候不退出,就是这句.事实上,在高压力下,偶尔的一两个请求被阻止,这是一个正常的情况,特别是有防火墙或入侵检测系统的情况下,这种事情会经常发生. 原文地址:https://www.cnblogs.com/peteremperor/p/9990463.html

ab压测 apr_socket_recv: Connection reset by peer (104)错误解决方法

用apache自带ab命令进行压测,报了如下错误: 原因是在ab的程序源码中对并发数有限制. 解决办法:修改apache源码support下面的ab.c源代码,然后重新编译.修改内容如下:

如何使用、判断Apache AB压力测试

最近公司的一个项目(在线考试软件),客户提出500人在线,设计到登录和最后提交的问题(这两部分是和数据库进行数据的交换).所以在不确定前进行压力测试.在网上了解了一下Apache AB. 软件介绍: 开发语言:jsp   数据库sql2000 web服务 tomcat  服务器环境:win2003 .win2008(备选) 关于apache AB 测试: Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境,ab工具位于apache\bin下)非常容易使用,ab可以直接在Web服务

【Apache】Apache ab压力测试工具Window下载和用法详解

ab是apache自带的网站压力测试工具. 使用起来非常的简单和方便. 不仅仅是可以apache服务器进行网站访问压力测试,还可以对其他类型的服务器进行压力测试. 比如nginx,tomcat,IIS等 首先当然是下载安装了. 在这里只讲window下在下载安装 官方下载地址:,(https://www.apachehaus.com/cgi-bin/download.plx) 下载完成后解压 修改解压根目录下的conf/httpd.conf文件的端口配置,默认是80端口,应该是被占用了,无法安装

Apache ab 压力测试工具

Apache Bin目录下的 ab.exe(ApacheBench) 程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,专门用来执行网站服务器的运行效能,特别是针对Apache 网站服务器,这原本是用来检测 Apache 网站服务器能够提供的效能,特别是可以看出Apache能提供每秒能送出多少网页. ab 使用的示例: Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path