使用apache 的ab做压力测试时,当压力过大,例如请求1000000次,在没有执行完就报apr_poll:The timeout specified has expired错误,解决办法,使用-k(发送keep-alive指令到服务器端),同时修改web服务器下的/etc/sysctl.conf,在里 面添加如下内容:
net.ipv4.netfilter.ip_conntrack_max = 3276800 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_tw_reuse = 0 net.ipv4.tcp_orphan_retries = 1 net.ipv4.tcp_fin_timeout = 25 net.ipv4.tcp_max_orphans = 8192 net.ipv4.ip_local_port_range = 32768 61000
如果已经存在,试着加大net.ipv4.netfilter.ip_conntrack_max的值,然后使用
sysctl -p /etc/sysctl.conf
使其生效。
转至http://www.netingcn.com/apache-ab-apr_poll-exception.html