日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

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

發布時間:2024/9/20 Nginx 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx核心要领五:worker_processes、worker_connections设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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


從上面的分析可以看出nginx占用內存小,處理性能高,通過提高服務器的配置,Nginx可以應對更大的連接數

來源:https://blog.csdn.net/zhuyu19911016520/article/details/90714429

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Nginx核心要领五:worker_processes、worker_connections设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。