nginx连接配置数的设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx连接配置数的设置相关的知识,希望对你有一定的参考价值。

参考技术A 表示开启nginx的worker进程的个数,nginx启动会开两种进程,master进程用来管理调度,workwr进程用来处理请求;

方法一:worker_processes auto;

表示设置服务器cpu核数匹配开启nginx开启的worker进程数。

方法二:nginx设置cpu亲和力

00000001表示启用第一个cpu内核,00000010表示启用第二个cpu内核,以此类推

这种设置方法更高效,因将每个cpu核提供给固定的worker进程服务,减少cpu上下文切换代理的资源浪费。

比如:2核cpu,开启2个进程,设置如下:

比如:4核cpu,开启4个进程,设置如下:

1个worker进程能够最大打开的文件数(进程数)=65535(参考 worker_rlimit_nofile ----> linux ulimit - n)

最大的客户端连接数:  max_clients = (多少个工作进程数) worker_processes * (1个工作线程的处理线程数) worker_connections     8 * 65535

请求模型   client<------> nginx

请求模型 client<-----> nginx <----> web server

该公式基于http 1.1协议,一次请求大多数浏览器发送两次连接,并不是request和response响应占用两个线程,实际情况,请求时双向的,连接是没有方向的。

因nginx作为反向代理,客户端和nginx建立连接,nginx和后端服务器也要建立连接。

Nginx限制并发连接数

参考技术A

对于一些服务器流量异常、负载过大,甚至是大流量的恶意攻击访问等,进行并发数的限制(共享内存和并发限制需结合系统定制)
limit_conn_zone 设置共享内存区域参数

limit_conn 设置共享内存区域和给定键值的最大允许连接数

limit_conn_log_level 日志可以调整级别,默认 error

limit_conn_status 返回状态码响应拒绝请求,默认 503

示例

限制来自单个IP地址的请求处理频率,每秒固定处理请求数,推迟过多请求。以此来防止应用层的 DDOS 攻击(共享内存和请求频率需结合系统定制)
limit_req_zone 设置共享内存区域参数

limit_req 设置共享内存区域、突发大小、延时

limit_req_log_level 日志可以调整级别,默认 error

limit_req_status 返回状态码响应拒绝请求,默认 503

示例

以上是关于nginx连接配置数的设置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx配置

Nginx配置

nginx优化与防盗链

【ngin】nginx 查看并发连接数的两种方法

nginx最大并发连接数的思考:worker_processesworker_connectionsworker_rlimit_nofile

初始Nginx