Apache Benchmark错误:打开文件太多

时间:2014-07-23 08:56:59

标签: ubuntu ubuntu-12.04 apachebench ulimit

我使用apache基准来对我的localhost网站进行基准测试,但收到此错误:

uday@uday-VirtualBox:/$ ab -n 2000 -c 2000 http://localhost/
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 localhost (be patient)
socket: Too many open files (24)

我尝试了所有ulimit -n,更改/etc/sysctl.conf的文件fs.file-max = 700000。 这可能会有所帮助 -

 sysctl -a | grep file
 fs.file-nr = 6816  0   700000
 fs.file-max = 700000

我不知道还能做什么我真的希望这个工作我的系统RAM是5GB。

1 个答案:

答案 0 :(得分:2)

您可以将文件描述符设置得非常高。我总是这样做:

/etc/security/limits.d:

# set a high rate of file descriptors.
# for api and high traffic, high connection rate server.
# Setting for all users because if a user restarts the server,
# the process of the server has the same value the user had as nofile.
#

*        -    nofile    250000

之后,您需要完全重新启动,因为您的shell可以使用这些设置。 小心这个设置。通常,您需要更严格地配置它。但在这种情况下,您似乎只是在虚拟盒上进行测试。