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.html
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.2.170 (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
apr_socket_recv: Connection reset by peer (104)
Total of 50044 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://www.cnblogs.com/archoncap/p/5883723.html

时间: 2024-12-27 16:23:51

apache ab压力测试报错apr_socket_recv的相关文章

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

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

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

Apache ab 压力测试工具

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

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

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

apache ab压力测试

今天提到压力测试,想起以前看到的ab,于是又重新查找了下资料,并记录了下. ab命令会创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问. 它的测试目标是基于URL的,因此,既可以用来测试Apache的负载压力,也可以测试nginx.lighthttp.tomcat.IIS等其它Web服务器的压力. ab命令对发出负载的计算机要求很低,既不会占用很高CPU,也不会占用很多内存,但却会给目标服务器造成巨大的负载,其原理类似CC攻击.自己测试使用也须注意,否则一次上太多的负载,可能造

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

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

jmeter压力测试报错:java.net.BindException: Address already in use: connect解决办法

最近在用jmeter做压力测试时,发现一个问题,当线程持续上升到某个值时,报错:java.net.BindException: Address already in use: connect,如下图所示: 原因:windows提供给TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收它们,就导致我们在短时间内跑大量的请求时将端口占满了,导致如上报错. 解决办法(在jmeter所在服务器操作): 1.cmd中输入regedit命令打开注册表: 2.在 HKEY_LOCAL_MACH

apache AB压力测试工具参数说明

参数 -n requests     Number of requests to perform //在测试会话中所执行的请求个数.默认时,仅执行一个请求 -c concurrency Number of multiple requests to make //一次产生的请求个数.默认是一次一个. -t timelimit    Seconds to max. wait for responses //测试所进行的最大秒数.其内部隐含值是-n 50000.它可以使对服务器的测试限制在一个固定的总