Nginx反向代理并发能力的强弱,直接影响到系统的稳定性。安装Nginx过程,默认配置并不涉及到过多的并发參数,作为产品执行,不得不考虑这些因素。Nginx作为产品执行,官方建议部署到Linux64位系统,基于该建议,本文中从系统线之上考虑Nginx的并发优化。
1、打开Linux系统epoll支持
epoll支持,可以大大提高系统网络IO的并发数。
2、Linux文件句柄数限制
Nginx代理过程,将业务server请求数据缓存到本地文件,再将文件数据转发给请求client。高并发的client请求,必定要求server文件句柄的并发打开限制。
使用ulimit命令,查看linux系统文件句柄并发限制。
$ ulimit -n
1024
linux系统默认设为1024,我们须要将该值设为65535。
改动系统文件/etc/security/limits.conf,加入例如以下信息,并又一次启动系统生效。
* soft nofile 65535
* hard nofile 65535
$ sudo vi /etc/security/limits.conf
3、Nginx配置文件里,加入文件限制及连接数信息
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
Nginx并发数受限,通常引起502错误,完毕上述操作,通常情况都能解决。