天天看點

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_connect_timeout=300;

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; #緩存路徑檔案,目錄結構等級,關鍵字區域實際和非活動時間

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_busy_buffers_size 128k; #預設值是fastcgi_buffer的2倍

fastcgi_temp_file_write_size 128k;#寫入緩存檔案使用多大的資料塊,預設值是fastcgi_buffer的2倍

fastcgi_cache test;#開啟fastcgi緩存并為其指定為test名稱,降低cpu負載,防止502錯誤發生.

#應答代碼緩存時間,200和302應答緩存為1個小時,301一天,其他1分鐘