Mac進行ab測試,遇到的問題集錦:apache
一、apr_socket_recv: Connection reset by peer (54)併發
在Mac上進行ab測試時,ab -c 200 -t 100 http://127.0.0.1:8001
發現會沒法正確的返回。
錯誤信息以下:socket
Mac:~ air$ ab -n 10000 -c 2000 http://127.0.0.1:80/ 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 127.0.0.1 (be patient) apr_socket_recv: Connection reset by peer (54)
這個報錯通常是因爲使用的MacOSX默認自帶的ab限制了併發數致使的。測試
解決辦法:下載最新的apache並從新編譯,備份原來的ab並將新編譯的ab替換到原來的路徑。.net
先下載文件:httpd-2.4.25.tar.bz2,在編譯的時候說沒有apr和apr-util,先對這兩個進行安裝;code
tar -zxvf apr-1.5.2.tar.gz ./configure --prefix=/usr/local/apr make & make install tar -zxvf apr-util-1.5.4.tar.gz ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make & make install tar -zxvf httpd-2.4.25.tar.bz2 ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util make & make install
文件下載地址:http://apr.apache.org/downloa... 和 http://apache.fayea.com/httpd/get
最後須要使用新安裝的httpd下的ab;it
二、socket: Too many open files (24)io
通常這種報錯是因爲MacOSX默認的open files數值太小致使的。使用ulimit -a
查看當前系統的默認文件打開數。編譯