ab测试大并发错误

转载自http://xmarker.blog.163.com/blog/static/226484057201462263815783

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总数量,可根据连接数和系统资源需要进行设置。

时间: 2024-10-25 19:54:23

ab测试大并发错误的相关文章

appache ab测试高并发

ab使用范例: 要执行 1000 次的 connection, 20 次的 concurrent (并行, 同时): 语法: ab -n 1000 -c 20 http://localhost/index.php ab 参数: Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path Options are: § -n requests Number of requests to perform § -c concurrency

php 压力测试 ab 命令 测试并发 apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接

对于广大的编程人员来说压力测试是永远不会避免的一步,正如测试虐我千百遍我待测试如初恋下面小弟说一下自己遇到的压力测试的问题,个人拙见,仅供参靠!!! 一般情况下我们在windows平台上进行开发,那么开发环境的要么是Lnmp 要么就是  Lamp  也有的人用环境的集成包,不管用什么只要是apache就好,正如所说小弟使用的就是apache,下面就是我在用apache进行压力测试的时候的问题,通过 cmd命令行进行测试如下图报错 看见这个报错之后只听大脑中嗡的一声,我了个日,为啥报错啊,但是经过

使用apache benchmark(ab) 测试报错汇总

1.socket: Too many open files (24) 解决方法: [[email protected] ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 14802 max locked memory (kby

Apache 的ab 测试工具

ab命令原理 Apache的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力. Apache附带的ab工具非常容易使用.ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜.自己使用也须谨慎.否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失. 在带宽不足的情况下,最好是本机进行测试,建议使用

tomcat AB测试结果分析

AB测试,200个请求,20个并发.这样的测试强度,CPU占了70-80%,w3p占用了70多M内存,本想多测几次,看看它的内存会不会涨上去,没 有测试机器没办法,开发机要干活.我估计CPU就有问题了,性能有好些个地方还需要优化. 顺便把测试的工具用法作个记号 基本用法: ab -n 全部请求数 -c 并发数 测试url 例:ab -n 1000 -c 50 http://www.newdev.gztest.com/ Server Software:         Microsoft-IIS/

大并发需要调的几个参数

/proc/sys/net/ipv4/tcp_max_tw_buckets 默认的太小了 net.ipv4.tcp_syncookies = 0 这个参数是怎么得来的? 其实是通过ab 简单的压力测试,/var/log/message  里面会有内核的报错信息. 大并发需要调的几个参数,布布扣,bubuko.com

使用百度云加速防apache的ab测试

Apache带的有一个ab压力测试的: 具体的概念性的东西:咱不扯:有兴趣的自行搜索: 这里只简单介绍使用方法: windows示例:e:\wamp64\bin\apache\apache2.4.17\bin\ab.exe -n1000 -c100http://baijunyao.com/article/8 mac.linux示例:/usr/bin/ab -n1000 -c100 http://baijunyao.com/article/8 e:\wamp64\bin\apache\apache

AB测试结果分析

AB测试结果分析 AB测试,200个请求,20个并发.这样的测试强度,CPU占了70-80%,w3p占用了70多M内存,本想多测几次,看看它的内存会不会涨上去,没 有测试机器没办法,开发机要干活.我估计CPU就有问题了,性能有好些个地方还需要优化. 顺便把测试的工具用法作个记号 基本用法: ab -n 全部请求数 -c 并发数 测试url 例:ab -n 1000 -c 50 http://www.newdev.gztest.com/ Server Software: Microsoft-IIS

PHP 使用Apache 中的ab 测试网站的压力性能

打开Apache服务器的安装路径(我用的是 WampServer),在bin目录中有一个ab.exe的可执行程序,它就是要介绍的压力测试工具. 在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序.注意直接双击无法正确运行. d:(回车/进入D盘) cd wamp\bin\apache\Apache2.4.4\bin(回车/进入 bin目录) ab(回车/) 如果看到下列一些帮助信息就说明成功启动ab     开始启动ab 压力测试 ab -n 5000 -c 20