Nginx优化:配置worker_rlimit_nofile、worker_processes、worker_connections  2022-10-26 - 简书 (jianshu.com)https://www.jianshu.com/p/e335c65f7a4b(1523条消息) Nginx 配置和性能调优_nginx worker_processes 配置_倾听铃的声的博客-CSDN博客https://blog.csdn.net/m0_67698950/article/details/125359625(1523条消息) Nginx关于worker_processes性能优化配置_明言的博客-CSDN博客https://blog.csdn.net/liuxiaoming1109/article/details/80989722nginx优化:worker_processes/worker_connections/worker_rlimit_nofile - 刘宏缔的架构森林 - 博客园 (cnblogs.com)https://www.cnblogs.com/architectforest/p/12795040.html

worker_processes与worker_connections 设置好合适大小,可以提示nginx处理性能,非常重要。

原作者的话:
As a general rule you need the only worker with large number of worker_connections, say 10,000 or 20,000.
However, if nginx does CPU-intensive work as SSL or gzipping and you have 2 or more CPU, then you may
set worker_processes to be equal to CPU number.
Besides, if you serve many static files and the total size of the files is bigger than memory, then you may
increase worker_processes to utilize a full disk bandwidth.
Igor Sysoev翻译:
一般一个进程足够了,你可以把连接数设得很大。(worker_processes: 1,worker_connections: 10,000)
如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话,可以设为和CPU的数量一样。(worker_processes: CPU核心数)
或者要处理很多很多的小文件,而且文件总大小比内存大很多的时候,也可以把进程数增加,以充分利用IO带宽(主要似乎是IO操作有block)

worker_processes,工作进程数

  • 1.默认:worker_processes: 1
  • 2.调大:worker_processes: CPU核心数,(双核4线程,可以设置为4)

worker_connections,单个工作进程可以允许同时建立外部连接的数量

数字越大,能同时处理的连接越多

  • 1.默认:worker_connections: 1024
  • 2.调大:worker_connections: 100000,(调大到10万连接)

worker_connections解析

  • 1.connections不是随便设置的,而是与两个指标有重要关联,一是内存,二是操作系统级别的“进程最大可打开文件数”。
  • 2.内存:每个连接数分别对应一个read_event、一个write_event事件,一个连接数大概占用232字节,2个事件总占用96字节,那么一个连接总共占用328字节,通过数学公式可以算出100000个连接数大概会占用 31M = 100000 * 328 / 1024 / 1024,当然这只是nginx启动时,connections连接数所占用的nginx。
  • 3.进程最大可打开文件数:进程最大可打开文件数受限于操作系统,可通过 ulimit -n 命令查询,以前是1024,现在是65535,
    nginx提供了worker_rlimit_nofile指令,这是除了ulimit的一种设置可用的描述符的方式。 该指令与使用ulimit对用户的设置是同样的效果。此指令的值将覆盖ulimit的值,如:worker_rlimit_nofile 20960;
    设置ulimits:ulimit -SHn 65535
worker_processes 2;
worker_rlimit_nofile 65535;
#pid logs/nginx.pid;
events { worker_connections 65535;
}

通过 ps -elf | grep nginx 找到 nginx 的worker进程ID
通过 cat /proc/31613/limits 查看,其中2291是worker进程ID,请注意其中的Max open files


从上面的分析可以看出nginx占用内存小,处理性能高,通过提高服务器的配置,Nginx可以应对更大的连接数

Nginx配置:worker_processes、worker_connections设置相关推荐

  1. linux文件改为nobody,Nginx配置中user设置为nobody有什么用?

    在许多Unix和Linux发行版中,nobody用户都是伪用户.根据Linux Standard Base,nobody用户及其组是可选的助记符用户和组.该用户旨在代表对系统具有最小权限的用户.在最佳 ...

  2. Nginx核心要领五:worker_processes、worker_connections设置

    worker_processes与worker_connections 设置好合适大小,可以提示nginx处理性能,非常重要. 原作者的话: As a general rule you need th ...

  3. nginx的事件处理worker_processes/worker_connections/worker_rlimit_nofile解释,查看cpu数量

    Nginx事件处理模型 demo events {use epoll;worker_connections 65535;multi_accept on;} worker_connections 下面有 ...

  4. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  5. ngin配置301重定向设置方法和nginx子目录301重定向

    这篇文章主要介绍了ngin配置301重定向设置方法和nginx子目录301重定向,需要的朋友可以参考下 nginx版本为1.1.19. 若域名由a.com转移到了b.com,并对两个域名有所有权,可以 ...

  6. Nginx配置中的log_format用法梳理(设置详细的日志格式)

    Nginx配置中的log_format用法梳理(设置详细的日志格式) nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志 ...

  7. 从零开始在 FreeNAS 的 Jail 上安装 NextCloud 并配置 Nginx 作为网页服务器而且 设置SSL证书 使用 https 访问 以及 oc_filecache 修复方法、优化方法

    笔者由于FreeNAS(TrueNAS)的ZFS文件系统的功能,想在上面架设NextCloud.本来FreeNAS也自带了NextCloud插件,可是由于国内网络环境的原因,死活安装不上.在某歌一番后 ...

  8. Nginx配置反向代理,一篇搞定!

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/zxd1435513775/article/ details/102508463 一.引言 其他话 ...

  9. docker nginx 简单的代理设置

    nginx一种代理,虽然是开发,但是也要懂一些 这个地方我们通过docker 安装nginx并且设置简单的代理 如何安装nginx我这个地方就不做太多的叙述 现在我有一个网址: 10.0.13.140 ...

最新文章

  1. Win10系列:UWP界面布局进阶1
  2. 记一次单机系统的性能优化:最后竟是 TCP 的锅
  3. spring security3.x学习(12)_remember me
  4. 归并排序详解(python实现)
  5. [JS] - onmusewheel事件(兼容IE,FF)
  6. 【转】什么是磁珠(Ferrite Bead 即 FB)
  7. 再测Golang JSON类库
  8. [Python3] 017 字典的内置方法
  9. 完整的vue-cli3项目创建过程以及各种配置
  10. 渗透测试工具有哪些?
  11. win10的ie保存html文件夹,win10系统IE缓存文件夹在哪里,教您IE缓存文件在哪里
  12. 怎么强力卸载360天擎_如何手动卸载天擎
  13. 卡内基梅隆计算机专业,卡内基梅隆大学计算机科学专业全面解析
  14. 机电设备如何有效监控?手把手教你最实用的
  15. [转贴]郎恒《齐天大圣》Rap 搞笑!
  16. 雷观(二十二):项目开发中,要少做无用功
  17. 无线显示但是无法上网络连接服务器,无线已连接上但还是不能上网该怎么处理...
  18. 会声会影2022版本软件下载安装使用激活教程
  19. 不通过twitter API获取Twitter数据的方法
  20. java中的for语句格式_Java中foreach循环语句的格式可以写成(        )。

热门文章

  1. UI字体设计的几种常用方法
  2. seo外链怎么发:如何发布高质量外链
  3. ARM协处理器CP15寄存器详解
  4. redis RDB设计与实现
  5. 12306铁路售票系统核心开源中间件Geode介绍
  6. 怎么让宽带和iptv同时走一根网线而且还不影响宽带网速?
  7. PTA QQ帐户的申请与登陆 思路分析及代码解析
  8. 什么是ActiveX
  9. Ebay封号后资金能不能退?
  10. TP_link路由器设置