如果客户端访问服务器提示“Too many open files”如何解决?
[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.1.100/ #高并发访问Nginx代理的网站,提示打开文件数量过多
Benchmarking 192.168.1.100 (be patient)
socket: Too many open files (24)
优化步骤:
1. 调整Nginx的主配置文件,增加并发量.
[root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
...
worker_processes 2; #调整到与CPU数量一致
events {
worker_connection 65535; #每个worker最大并发连接数
}
[root@proxy ~]#/usr/local/nginx/sbin/nginx -s reload
2. 调整内核参数
[root@proxy ~]# ulimit -a #查看所有的属性值
[root@proxy ~]# ulimit -Hn 100000 #临时设置硬限制
[root@proxy ~]# ulimit -Sn 100000 #设置软限制
[root@proxy ~]# vim /etc/security/limits.conf
...
* soft nofile 100000
* hard nofile 100000
用户/组 软/硬限制 需要限制的项目 限制的值
3. 测试
[root@proxy ~]# ab -n 2000 -c 2000 http://192.168.1.100/ #自己访问自己,测试一下配置效果
结束.