NginX優化

關於 nginx 的一些優化(突破十萬併發)
一般來說 nginx 配置文件中對優化比較有作用的爲以下幾項:
worker_processes 8;
nginx 進程數,建議按照 cpu 數目來指定,一般爲它的倍數。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000
01000000 10000000;
爲每個進程分配 cpu,上例中將 8 個進程分配到 8 個 cpu,當然可以寫多個,或者將一
個進程分配到多個 cpu。
worker_rlimit_nofile 102400;
這個指令是指當一個 nginx 進程打開的最多文件描述符數目,理論值應該是最多打開文
件數(ulimit -n)與 nginx 進程數相除,但是 nginx 分配請求並不是那麼均勻,所以最好與 ulimit
-n 的值保持一致。
use epoll;
使用 epoll 的 I/O 模型,這個不用說了吧。
worker_connections 102400;
每 個 進 程 允 許 的 最 多 連 接 數 , 理 論 上 每 臺 nginx 服 務 器 的 最 大 連 接 數 爲
worker_processes*worker_connections。
keepalive_timeout 60;
keepalive 超時時間。
client_header_buffer_size 4k;
客戶端請求頭部的緩衝區大小,這個可以根據你的系統分頁大小來設置,一般一個請求
頭的大小不會超過 1k,不過由於一般系統分頁都要大於 1k,所以這裏設置爲分頁大小。分
頁大小可以用命令 getconf PAGESIZE 取得。
open_file_cache max=102400 inactive=20s;
這個將爲打開文件指定緩存,默認是沒有啓用的,max 指定緩存數量,建議和打開文件
數一致,inactive 是指經過多長時間文件沒被請求後刪除緩存。
open_file_cache_valid 30s;
這個是指多長時間檢查一次緩存的有效信息。
open_file_cache_min_uses 1;
open_file_cache 指令中的 inactive 參數時間內文件的最少使用次數,如果超過這個數字,文
件描述符一直是在緩存中打開的,如上例,如果有一個文件在 inactive 時間內一次沒被使用,
它將被移除。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章