官方文档:http://nginx.org/en/docs/ngx_core_module.html#use
一、worker_connections
官方原文:
句法: worker_connections number;
默认: worker_connections 512;
内容: events
设置工作进程
可以打开的最大同时连接数,不能超过最大文件打开数(ulimit -a|grep “open files”)
应当记住,该数目包括所有连接(例如,与代理服务器的连接等),而不仅包括与客户端的连接。另一个需要考虑的因素是,并发连接的实际数量不能超过打开文件最大数量的当前限制,可以通过worker_rlimit_nofile
进行更改 。
二、worker_processes
句法: worker_processes number | auto;
默认: worker_processes 1;
内容: main
定义工作进程数
最佳值取决于许多因素,包括(但不限于)CPU内核数,存储数据的硬盘驱动器数以及加载模式。如果有疑问,将其设置为可用的CPU内核数将是一个不错的开始(“设置成auto”将尝试自动检测它)
。
查看机器CPU核数命令:lscpu |grep “CPU(s)”
三、worker_rlimit_nofile
句法: worker_rlimit_nofile number;
默认: -
内容: main
最大文件限制打开数量: worker_connections*worker_process == 最大同时连接数*CPU内核数
更改RLIMIT_NOFILE工作进程最大打开文件数()的限制。用于在不重新启动主进程的情况下增加限制。
四、 worker_priority
句法: worker_priority number;
默认:
worker_priority 0;
内容: main
定义工作进程的调度优先级
就像通过nice命令一样:负数 number 表示更高的优先级。允许范围通常为-20至19。
例:worker_priority -10;
本次实验使用到的配置:
worker_processes auto; #工作进程数,auto自动检测CPU核数
worker_rlimit_nofile 65535; #文件限制打开数量
worker_priority -20; #优先级
events {
worker_connections 65535; # 单个worker进程允许同时打开的连接数
}
1)、添加配置如上配置到nginx主配置文件中(yum安装默认在/etc/nginx/nginx.conf)
2)、测试查看nginx是否优先级:
查看nginx进程:ps uax|grep nginx
使用top命令查看nginx优先级: top -p 2634