Php

在 Nginx 配置中為 fastcgi_buffers 設置值的任何指南?

  • November 25, 2009

我剛剛將我們的部落格網路移至由 WPMU 提供支持的 ngnix(來自 apache)。一切執行順利,一切正常。

在我尋求將伺服器優化到最高級別的過程中 - 我在 nginx 論壇http://forum.nginx.org/read.php?2,2649上遇到了這個執行緒

我真的很想知道:回答原始問題…

例如,為了防止在提供 6144 KB 文件時出現警告,這三種方法中哪一種會產生最佳性能?

  1. 大量小緩衝區:fastcgi_buffers 768 8k
  2. 少量大緩衝區:fastcgi_buffers 8 768k
  3. 緩衝區和大小之間的接近平衡:fastcgi_buffers 64 96k

還有一件事:在我的 ngnix.config 中 - 我的設置是:

fastcgi_buffers 64 4k;

即 256K 緩衝區大小(我在 32 位平台上)。這是否意味著如果我的 PHP 腳本生成的響應大於 256K,nginx 會拋出一些錯誤?

我知道 ngnix 論壇似乎是問這個問題的好地方,但由於沒有 ngnix 論壇比 serverfault 更活躍,我在這裡發布這個問題。

我希望我能從這裡的專家那裡得到一些意見/指導。

謝謝,

-拉胡爾

不,這意味著如果您的腳本經常生成少於 256K 的響應 - 緩衝區通常是半空的,而您只是浪費記憶體 :)

Beffer 的工作方式如下:nginxmin(buffer_size,response_size)從 FCGI 腳本讀取字節,將其發送到客戶端並清空緩衝區的內容。如果有更多響應數據 - 它會再次讀取並發送。

如果您的站點經常提供由腳本生成的小型頁面,則最佳值比典型腳本響應大小的大小略大:標題 + 內容。

引用自:https://serverfault.com/questions/88118