fastcgi_buffers 16 16k;
指定本地需要用多少和多大的緩沖區來緩沖FastCGI的應答,如上所示,如果一個php腳本所產生的頁面大小為256k,則會為其分配16個16k的緩沖區來緩存,如果大於256k,增大於256k的部分會緩存到fastcgi_temp指定的路徑中,當然這對服務器負載來說是不明智的方案,因為內存中處理數據速度要快於硬盤,通常這個值的設置應該選擇一個你的站點中的php腳本所產生的頁面大小的中間值,比如你的站點大部分腳本所產生的頁面大小為256k就可以把這個值設置為16 16k,或者4 64k 或者64 4k,但很顯然,后兩種並不是好的設置方法,因為如果產生的頁面只有32k,如果用4 64k它會分配1個64k的緩沖區去緩存,而如果使用64 4k它會分配8個4k的緩沖區去緩存,而如果使用16 16k則它會分配2個16k去緩存頁面,這樣看起來似乎更加合理。
//+++++++++++++++++++++++++++++++++++++++++
client_max_body_size 100m; #允許客戶端請求的最大單文件字節數
client_body_buffer_size 2048k; #緩沖區代理緩沖用戶端請求的最大字節數,
fastcgi_buffer_size 1024k;
fastcgi_buffers 6 256k;
fastcgi_busy_buffers_size 1024k;
fastcgi_buffer等於:fastcgi_buffer_size + the_number * is_size
fastcgi_buffers 256 4k; #設置buffer大小為:4k + 256 * 4k = 1028k
上面配置可以解決 an upstream response is buffered to a temporary file 或nginx+php-fpm慢問題