问题描述
使用apache ab进行压力测试的时候,当并发数增加的时候提示以下错误: 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 httpd: (be patient)…apr_sockaddr_info_get() for httpd:: Unknown error 14642 (14642)
问题原因
apr_socket_recv 这个是操作系统内核的一个参数,在高并发的情况下,内核会认为系统受到了SYN flood攻击,会发送cookies(possible SYN flooding on port 80. Sending cookies),这样会减慢影响请求的速度,所以在应用服务武器上设置下这个参数为0禁用系统保护就可以进行大并发测试了:
vim /etc/sysctl.conf ##修改
net.ipv4.tcp_syncookies = 0 ##禁用系统保护
:wq
sysctl -p ##查看是否成功