Ngnix中的fastcgi參數性能優化和解釋
優化性能參數設置,在ngnix.conf中的http 層加上fastcgi參數例如以下:
http {
fastcgi_cache_path ?/usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m;
fastcgi_send_timeout=300;
fastcgi_buffer_size=64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
}
fastcgi_cache_path ?/usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m; #緩存路徑文件,文件夾結構等級,keyword區域實際和非活動時間
fastcgi_connect_timeout=300; #連接到後端fastcgi超時時間
fastcgi_send_timeout=300; ? ?#向fastcgi請求超時時間(這個指定值已經完畢兩次握手後向fastcgi傳送請求的超時時間)
fastcgi_rend_timeout=300; #接收fastcgi應答超時時間。同理也是2次握手後
fastcgi_buffer_size=64k; ? #讀取fastcgi應答第一部分須要多大緩沖區。該值表示使用1個64kb的緩沖區讀取應答第一部分(應答頭),能夠設置為fastcgi_buffers選項緩沖區大小
fastcgi_buffers 4 64k;#指定本地須要多少和多大的緩沖區來緩沖fastcgi應答請求,如果一個php或java腳本所產生頁面大小為256kb,那麽會為其分配4個64kb的緩沖來緩存;若頁面大於256kb,那麽大於的256kb的部分會緩存到fastcgi_temp指定路徑中,這並不是是個好辦法,內存數據處理快於硬盤,一般該值應該為網站中php/java腳本所產生頁面大小中間值,如果網站大部分腳本所產生的頁面大小為256kb,那麽可把值設置為16 16k,4 64k等
fastcgi_temp_file_write_size 128k;#寫入緩存文件使用多大的數據塊,默認值是fastcgi_buffer的2倍
fastcgi_cache TEST;#開啟fastcgi緩存並為其指定為TEST名稱。減少cpu負載,防止502發生錯誤.
#應答代碼緩存時間,200和302應答緩存為1個小時。301一天,其它1分鐘
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
Ngnix中的fastcgi參數性能優化和解釋