Fastcgi優化配置詳解

在申請的 三 豐 免 費 雲 主 機 上 部署了Nginx服務器。服務響應不太理想,研究了一翻nginx相關緩存方面的原理,對Fastcgi優化配置作一記錄。
Nginx的Fastcgi cache是用來緩存用戶請求,當用戶下次再進行同樣的訪問的時候直接將緩存結果返回給用戶,避免了Nginx再向上游請求結果的過程,使服務性能大幅度提升,如果服務是靜態可緩存的話使用這個模塊能夠明顯縮短用戶請求時間同時節省服務器資源,大大提升服務的QPS。

Fastcgi優化配置詳解
就優化性能參數設置,下面會從兩個模塊分別說明:

1)http區域設置的緩存參數

fastcgi_temp_path path [level1 [level2 [level3]]];
fastcgi_cache_path path [levels=m:n] keys_zone=name:size [inactive=time] [max_size=size]
參數解釋:

path 緩存文件存放(臨時)目錄
levels 緩存層次
keys_zone 緩存空間名和共享內存大小
inactive 失效時間, 1d = 1天
max_size 最大緩存空間(硬盤佔用)
【推薦配置】

fastcgi_temp_path /tmp/temp
fastcgi_cache_path /var/fastcgi_cache levels=1:2 keys_zone=cache_fastcgi:256m inactive=1d max_size=1g; #共享內存大小和最大緩存空間由具體應用重新評估設置
注: fastcgi_temp_path 和 fastcgi_cache_path 指定的路徑必須在同一分區

2)server模塊設置的緩存參數

fastcgi_connect_timeout=300; #fastcgi連接超時時間
fastcgi_send_timeout=300; #fastcgi請求超時時間
fastcgi_rend_timeout=300; #接收fastcgi應答超時時間
fastcgi_buffer_size=64k; #讀取fastcgi應答需要多大緩衝區
fastcgi_buffers 4 64k; #指定本地需要多少個和多大的緩衝區來緩衝fastcgi應答請求
fastcgi_busy_buffers_size 128k; #默認值是fastcgi_buffer的2倍
fastcgi_temp_file_write_size 128k; #寫入緩存文件使用多大的數據塊 fastcgi_cache #表示開啓FastCGI緩存併爲其指定一個名稱。
fastcgi_cache_valid #指定緩存狀態及失效時間
fastcgi_cache_min_uses #指定緩存成爲過期數據
fastcgi_cache_use_stale #定義哪些情況下用過期緩存
fastcgi_cache_key #指定緩存文件的標識,這個標識會 MD5 轉碼存儲在緩存域的目錄下
ffastcgi_cache_methods #指定緩存的請求方式
【推薦配置】

fastcgi_connect_timeout=300
fastcgi_send_timeout=300;
fastcgi_rend_timeout=300;
fastcgi_buffer_size=64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_cache fcgi;
fastcgi_cache_valid 200 302 301 1h;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_cache_key "$request_method://$host$request_uri";
fastcgi_cache_methods GET HEAD;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章