站長資訊網
        最全最豐富的資訊網站

        關于 nginx 內核優化

        1)nginx進程數,建議按照cpu數目來指定,一般跟cpu核數相同或為它的倍數。

        worker_processes 8;

        2)為每個進程分配cpu,上例中將8個進程分配到8個cpu,當然可以寫多個,或者將一個進程分配到多個cpu。

        worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

        3)下面這個指令是指當一個nginx進程打開的最多文件描述符數目,理論值應該是系統的最多打開文件數(ulimit -n)與nginx進程數相除,但是nginx分配請求并不是那么均勻,所以最好與ulimit -n的值保持一致。

        worker_rlimit_nofile 65535;

        4)使用epoll的I/O模型,用這個模型來高效處理異步事件

        use epoll;

        5)每個進程允許的最多連接數,理論上每臺nginx服務器的最大連接數為worker_processes*worker_connections。

        worker_connections 65535;

        6)http連接超時時間,默認是60s,功能是使客戶端到服務器端的連接在設定的時間內持續有效,當出現對服務器的后繼請求時,該功能避免了建立或者重新建立連接。切記這個參數也不能設置過大!否則會導致許多無效的http連接占據著nginx的連接數,終nginx崩潰!

        keepalive_timeout 60;

        7)客戶端請求頭部的緩沖區大小,這個可以根據你的系統分頁大小來設置,一般一個請求的頭部大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。分頁大小可以用命令getconf PAGESIZE取得。

        client_header_buffer_size 4k;

        8)下面這個參數將為打開文件指定緩存,默認是沒有啟用的,max指定緩存數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩存。

        open_file_cache max=102400 inactive=20s;

        9)下面這個是指多長時間檢查一次緩存的有效信息。

        open_file_cache_valid 30s;

        10)open_file_cache指令中的inactive參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一直是在緩存中打開的,如上例,如果有一個文件在inactive時間內一次沒被使用,它將被移除。

        open_file_cache_min_uses 1;

        11)隱藏響應頭中的有關操作系統和web server(Nginx)版本號的信息,這樣對于安全性是有好處的。

        server_tokens off;

        12)可以讓sendfile()發揮作用。sendfile()可以在磁盤和TCP socket之間互相拷貝數據(或任意兩個文件描述符)。Pre-sendfile是傳送數據之前在用戶空間申請數據緩沖區。之后用read()將數據從文件拷貝到這個緩沖區,write()將緩沖區數據寫入網絡。sendfile()是立即將數據從磁盤讀到OS緩存。因為這種拷貝是在內核完成的,sendfile()要比組合read()和write()以及打開關閉丟棄緩沖更加有效(更多有關于sendfile)。

        sendfile on;

        13)告訴nginx在一個數據包里發送所有頭文件,而不一個接一個的發送。就是說數據包不會馬上傳送出去,等到數據包最大時,一次性的傳輸出去,這樣有助于解決網絡堵塞。

        tcp_nopush on;

        14)告訴nginx不要緩存數據,而是一段一段的發送–當需要及時發送數據時,就應該給應用設置這個屬性,這樣發送一小塊數據信息時就不能立即得到返回值。

        tcp_nodelay on;

        比如:

        http {

        server_tokens off;

        sendfile on;

        tcp_nopush on;

        tcp_nodelay on;

        ……

        }

        15)客戶端請求頭部的緩沖區大小,這個可以根據系統分頁大小來設置,一般一個請求頭的大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。

        client_header_buffer_size 4k;

        客戶端請求頭部的緩沖區大小,這個可以根據系統分頁大小來設置,一般一個請求頭的大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。

        分頁大小可以用命令getconf PAGESIZE取得。

        [root@test-huanqiu ~]# getconf PAGESIZE

        4096

        但也有client_header_buffer_size超過4k的情況,但是client_header_buffer_size該值必須設置為“系統分頁大小”的整倍數。

        16)為打開文件指定緩存,默認是沒有啟用的,max 指定緩存數量,建議和打開文件數一致,inactive 是指經過多長時間文件沒被請求后刪除緩存。

        open_file_cache max=65535 inactive=60s;

        17)open_file_cache 指令中的inactive 參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一直是在緩存中打開的,如上例,如果有一個文件在inactive 時間內一次沒被使用,它將被移除。

        open_file_cache_min_uses 1;

        18)指定多長時間檢查一次緩存的有效信息。

        open_file_cache_valid 80s;

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 手机日韩精品视频在线看网站| 久久国产精品国语对白| 91嫩草亚洲精品| 亚洲精品tv久久久久久久久| 欧美精品888| 精品无码久久久久久尤物| 免费观看四虎精品成人| 亚洲精品理论电影在线观看| 久久久久无码精品国产| 亚洲精品国产福利一二区| 国产精品青青在线观看爽香蕉| 国产成人精品免费午夜app| 久久夜色精品国产欧美乱| 欧美日韩精品一区二区视频| 999国产精品色在线播放| 国产精品亚洲аv无码播放| 中文字幕精品久久久久人妻| 国精品产露脸自拍| 国产高清国内精品福利99久久| 国产精品久久久久影院嫩草| 人妻精品久久久久中文字幕一冢本| 亚洲AV无码成人精品区大在线| 国产亚洲精品无码拍拍拍色欲 | 亚洲av永久无码精品网站 | 亚洲AV日韩精品久久久久久久| 免费人欧美日韩在线精品| 精品国产香蕉伊思人在线在线亚洲一区二区 | 国产精品熟女高潮视频| 欧美午夜精品久久久久免费视| 中文精品人人永久免费| 中文字幕精品无码一区二区 | 国产精品无码无需播放器| 久久精品夜夜夜夜夜久久| 人妻精品久久无码区| 精品无码人妻一区二区三区| 人人妻人人澡人人爽人人精品| 无码人妻精品一区二区| 久久精品无码专区免费青青| 久久99精品久久久久久动态图 | 国产高清在线精品一区二区| 国产69精品久久久久99|