nginx配置--event模块

在nginx的配置中,event模块可以进行以下配置:

  • 设置网络连接的序列化。 在Nginx服务器的多进程下,有可能出现惊群(Thundering herd problem)问题,指的是当某一个时刻只有一个网络连接到来时,多个睡眠进程会被同时唤醒,但只有一个进程可以获得连接。如果每次唤醒的进程数目太多,会影响一部分系统性能(系统对用户进程/线程频繁的做无效的调度、上下文切换,系统系能大打折扣)。为了解决这样的问题,Nginx配置中包含这样一条指令accept_mutex,当其设置为开启时,将会对多个Nginx进程接受连接进行序列化,阻止多个进程对连接的争抢。其语法结构为 accept_mutex on|off. 此指令默认为开启状态。关于nginx解决惊群的方法可以参见http://blog.csdn.net/russell_tao/article/details/7204260
  • 设置是否同时接受多个网络连接。每个Nginx服务器的worker process都有能力同时接收多个新到达的网络连接(nginx在实现时,是通过一个连接池来管理的,每个worker process都有一个独立的连接池,连接池的大小是worker_connections。这里的连接池里面保存的其实不是真实的连接,它只是一个worker_connections大小的一个ngx_connection_t结构的数组。并 且,nginx会通过一个链表free_connections来保存所有的空闲ngx_connection_t,每次获取一个连接时,就从空闲连接链表中获取一个,用完后,再放回空闲连接链表里面。 )但是这需要在配置文件中进行配置,其指令为multi_accept,语法结构为:multi_accept on|off; 此指令默认为关闭状态,即每个worker process一次只能处理一个新到达的网络连接。
  • 事件驱动模型的选择。 Nginx服务器提供了多种事件驱动模型来处理网络消息,配置文件中为我们提供了相关的指令来强制Nginx服务器选择哪种事件驱动模型进行消息处理,指令为use,语法结构为: use method; method可选择的内容为select,poll,kqueue,epoll,rtsig,/dev/poll以及eventport。
  • 配置最大连接数。 指令worker_connecetions主要用来设置允许每一个worker process同时开启的连接数。其语法结构为worker_connections number;此指令的默认设置为512. 注意:number的值不能大于操作系统支持打开的最大文件句柄数量。

转载于:https://www.cnblogs.com/hubavyn/p/4395680.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值