Mac进行ab测试,遇到的问题集锦:
1、apr_socket_recv: Connection reset by peer (54)
在Mac上进行ab测试时,ab -c 200 -t 100 http://127.0.0.1:8001
发现会无法正确的返回。
错误信息如下:
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替换到原来的路径。
先下载文件:httpd-2.4.25.tar.bz2,在编译的时候说没有apr和apr-util,先对这两个进行安装;
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/
最后需要使用新安装的httpd下的ab;
2、socket: Too many open files (24)
一般这种报错是由于MacOSX默认的open files数值过小导致的。使用ulimit -a
查看当前系统的默认文件打开数。