標籤:
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.net/Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 192.168.1.176 (be patient)Completed 300 requestsCompleted 600 requestsCompleted 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總數量,可根據串連數和系統資源需要進行設定。 參考:http://zhumeng8337797.blog.163.com/blog/static/100768914201262091634698/
apache ab壓力測試報錯(apr_socket_recv: Connection reset by peer (104))