在 Nginx 配置中为 fastcgi_buffers 设置值的任何指南?

rah*_*286 4 php optimization configuration nginx fastcgi

我刚刚将我们的博客网络移至由 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 更活跃,我在这里发布这个问题。

我希望我能从这里的专家那里得到一些意见/指导。

谢谢,

-拉胡尔

kol*_*pto 5

不,这意味着如果您的脚本经常生成少于 256K 的响应 - 缓冲区通常是半空的,您只会浪费内存:)

Beffer 是这样工作的:nginxmin(buffer_size,response_size)从 FCGI 脚本读取字节,将其发送到客户端并清空缓冲区的内容。如果有更多响应数据 - 它会再次读取并发送。

如果您的站点经常提供小的脚本生成页面,则最佳值比典型脚本响应大小的大小略大:标题 + 内容。