Nginx事件处理模型

demo

events {use epoll;worker_connections 65535;multi_accept on;}
  • worker_connections 下面有介紹
  • multi_accept
    告诉nginx收到一个新连·接通知后接受尽可能多的连接,默认是on,设置为on后,多个worker按串行方式来处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完毕,没有取得连接的继续休眠。当你的服务器连接数不多时,开启这个参数会让负载有一定的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。

开启高效传输模式

http {include mime.types;default_type application/octet-stream;……sendfile on;tcp_nopush on;……}
  • Include mime.types : 媒体类型,include 只是一个在当前文件中包含另一个文件内容的指令。
  • default_type application/octet-stream :默认媒体类型足够。
  • sendfile on开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
  • tcp_nopush on:必须在sendfile开启模式才有效,防止网路阻塞,积极的减少网络报文段的数量(将响应头和正文的开始部分一起发送,而不一个接一个的发送。)

worker_processes

worker_processes指令控制工作进程数:

worker_processes 1;
其默认值为1,这意味着NGINX只运行一个worker。 该值应根据可用内核数,磁盘,网络子系统,服务器负载等更改为最佳值。
一般设置为可用的(cpu)核心数。

或者,可以将其设置为auto。 这样nginx会自动根据核心数为生成对应数量的worker进程。

查看cpu数

lscpu

cat /proc/cpuinfo | grep 'processor' | wc -l

worker_connections

默认值为512.该指令设置单个worker进程最大打开的连接数

worker_rlimit_nofile

同时连接的数量受限于系统上可用的文件描述符的数量,因为每个套接字将打开一个文件描述符。 如果NGINX尝试打开比可用文件描述符更多的套接字,会发现error.log中出现Too many opened files的信息。

检查文件描述符(文件句柄数)

ulimit -a

文件资源限制的配置可以在/etc/security/limits.conf设置,针对root/user等各个用户或者*代表所有用户来设置。

*   soft nofile   65535*   hard nofile   65535

用户重新登录生效(ulimit -n

nginx的worker_rlimit_nofile

现在,将此值增加到大于worker_processes * worker_connections的值。 应该是增加当前worker运行用户的最大文件打开数值

NGINX提供了worker_rlimit_nofile指令,这是除了ulimit的一种设置可用的描述符的方式。 该指令与使用ulimit对用户的设置是同样的效果。此指令的值将覆盖ulimit的值,如:

worker_rlimit_nofile 65535;

参考了大佬的博客
https://www.cnblogs.com/sherman125/p/8081095.html
https://www.jianshu.com/p/3217f651d8a4

nginx的事件处理worker_processes/worker_connections/worker_rlimit_nofile解释,查看cpu数量相关推荐

  1. Nginx配置:worker_processes、worker_connections设置

    Nginx优化:配置worker_rlimit_nofile.worker_processes.worker_connections  2022-10-26 - 简书 (jianshu.com)htt ...

  2. linux系统查看CPU和内存数量,大小,频率

    dmidecode -t memory #查看内存详细信息 dmidecode -t processor #查看CPU详细信息 #以上两条命令得在root用户下执行才有输出 dmidecode |gr ...

  3. Linux查看CPU使用率、内存使用率等

    一.CPU使用率查看 1. cat /proc/loadavg命令 $ cat /proc/loadavg 0.08 0.06 0.10 1/442 8347 前三项分别是最近1分钟.5分钟和15分钟 ...

  4. linux服务器怎么查看cpu配置信息,linux服务器cpu信息查看详解

    在linux系统中,提供了/proc目录下文件,显示系统的软硬件信息.如果想了解系统中CPU的提供商和相关配置信息,则可以查/proc/cpuinfo.但是此文件输出项较多,不易理解.例如我们想获取, ...

  5. Linux系统查看CPU

    在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况,以便性能分析优化.而监控CPU的性能一般包括以下3点:运行队列.CPU使用率和上下文切换. 对于每一个CPU来说运行队列 ...

  6. Linux查看CPU和内存使用情况详解

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中, 可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态 ...

  7. 查看服务器CPU配置信息,转帖-CentOS查看CPU信息、位数、多核信息;查看服务器硬件信息...

    # uname -a Linux localhost.localdomain 2.6.18-164.el5PAE #1 SMP Thu Sep 3 04:10:44 EDT 2009 i686 i68 ...

  8. linux命令查看cpu架构,Linux下如何查看CPU信息

    查看当前操作系统内核信息#uname -a Linux redcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i68 ...

  9. Linux_查看CPU信息、机器型号等硬件信息

    2019独角兽企业重金招聘Python工程师标准>>> Linux_查看CPU信息.机器型号等硬件信息 博客分类: linux 查看CPU信息(型号) # cat /proc/cpu ...

最新文章

  1. 效率翻倍!推荐10个超实用的神器工具,高效率办公必备
  2. Safari下弹窗问题的解决办法
  3. 2018 hncpc 部分题
  4. Matlab吸附等温线怎么拟合,吸附等温线线模型拟合
  5. cms核心功能_如何根据这些重要功能选择合适的CMS
  6. Airbnb搜索:深度学习排序算法如何进化?
  7. 计算机个人培训终结,计算机一级培训个人工作总结
  8. HDU 2689 POJ 2299 树状数组 + 离散化
  9. 【论文笔记】Learning Deep Face Representation
  10. 死亡之ping (ping of death)
  11. RubyInstaller
  12. 手把手教你用Python网络爬虫+自动化来创建一位属于你自己的虚拟女票(附源码)...
  13. ★关于人类体质弱化的分析
  14. 网络抓包学MQTT物联网协议
  15. 用Excel自带图表插入带分类变量的箱形图(单坐标轴并列箱)
  16. 用户反馈驱动抖音产品体验优化实践
  17. 彻底搞懂-扔鸡蛋问题-方程-动态规划
  18. 高防IP是如何来防御DDoS攻击的呢?
  19. 微信公众号三方平台开发【代微信公众号接收消息事件并响应】
  20. Kinect坐标转换

热门文章

  1. 浏览器打开微信里的连接
  2. 使用命令修改linux的时间,Linux使用date命令修改日期时间详解
  3. 关于快速排序和归并排序的时间复杂度分析
  4. 3D VRay灯光应用步骤
  5. 【Linux篇】第十二篇——进程间通信(管道+system V共享内存)
  6. 观察者模式设计qq邮箱日历提醒 -- qq终端,qq邮箱终端,微信终端提醒
  7. 我的达梦DCA培训小记
  8. 高考540分计算机,一线老师告诉你:高三后期这么做,3个月提高30分真不难!
  9. 来自python的【set集合总结/frozenset】
  10. 玩转慕课网App启动引导页效果