使用ab( apache benchmark )測試的時候,使用如下命令:
ab -n 15000 -c 200 http://localhost/abc/abc.php
執行操作一定條數,或連續執行該命令會出現如下問題:
apr_socket_recv: Connection timed out (110)
網上有說是資源描述符的問題,用ulimit -n 65536解決,試過不行。
查看系統日志:
dmesg
顯示大量下面錯誤
nf_conntrack: table full, dropping packet.
通過google后,加入如下參數
vi /etc/sysctl.conf net.nf_conntrack_max = 655360 net.netfilter.nf_conntrack_tcp_timeout_established = 1200 sysctl -p /etc/sysctl.conf
修改后,重新啟用apache ab 進行測試,問題解決。
重新觀察這兩個參賽發現,第二個參數與netfilter相關,
