我试图在我自己的服务器上使用以下命令使用siege进行压力testing:
$ siege -c 500 myweb.com/somefile.php
但是我得到这个错误:
[error] descriptor table full sock.c:119: Too many open files
我也得到这个警告:
libgcc_s.so.1 must be installed for pthread_cancel to work
但我使用Ubuntu 15.04(开发分支),我已经安装了包libgcc1,所以我不知道为什么它抱怨.so共享库。
我怎样才能解决太多打开的文件和libgcc警告?
为了解决这个问题,我不得不调整操作系统的“ulimit”设置:
ulimit -a – 检查当前设置
ulimit -n 10000 – 编辑设定值
资料来源: https : //bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527
只需增加相同会话中相同用户可以打开的文件的最大数量即可。
资料来源: http : //www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
错误信息是误导性的,但是你的命令中有错误:
$ siege -c 500 myweb.com/somefile.php
在-c之后,您必须指定正在使用的模拟用户的数量。
不要忘记检查日志文件的权限:默认情况下是/var/log/siege.log 。
或者,通过添加--log=/home/user/siege.log指定您自己的