Mac使用ab并发测试问题

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查看当前系统的默认文件打开数。

你可能感兴趣的:(ab,macos)