1. 程式人生 > >MacOSX上ab併發測試常見報錯及解決辦法

MacOSX上ab併發測試常見報錯及解決辦法

1、apr_socket_recv: Connection reset by peer (54)

Shell
12345678Mac:~air$ab-n10000-c2000http://127.0.0.1:80/ThisisApacheBench,Version2.3<$Revision:655654$>Copyright1996Adam Twiss,Zeus Technology Ltd,http://www.zeustech.net/Licensed toThe Apache Software Foundation,http://www.apache
.org/Benchmarking127.0.0.1(be patient)apr_socket_recv:Connection reset by peer(54)Mac:~air$

這個報錯一般是由於使用的MacOSX預設自帶的ab限制了併發數導致的。

解決辦法:
下載最新的apache並重新編譯,備份原來的ab並將新編譯的ab替換到原來的路徑

Shell
1 2 3 4 5 6 $./configure--prefix=/usr/local/webserver/httpd-2.4.10 $make $makeinstall
$cd/usr/local/webserver/httpd-2.4.10 $sudo mv/usr/sbin/ab/usr/sbin/ab.bak $sudo cpbin/ab/usr/sbin/ab

2、socket: Too many open files (24)

一般這種報錯是由於MacOSX預設的open files數值過小導致的。
檢視當前系統的預設檔案開啟數:

123456789101112$ulimit-acore file size(blocks,-c)0data seg size(kbytes,-d)unlimitedfile
size(blocks,-f)unlimitedmax locked memory(kbytes,-l)unlimitedmax memory size(kbytes,-m)unlimitedopen files(-n)256pipe size(512bytes,-p)1stack size(kbytes,-s)8192cpu time(seconds,-t)unlimited