有没有关于在 Nginx 配置中设置 fastcgi_buffers 值的指南?

有没有关于在 Nginx 配置中设置 fastcgi_buffers 值的指南?

我刚刚将我们的博客网络从 apache 移至由 WPMU 提供支持的 ngnix。一切运行顺利,没有问题。

在尝试将服务器优化到最高级别时,我在 nginx 论坛上看到了这个帖子http://forum.nginx.org/read.php?2,2649

我真的很想知道:原始问题的答案......

例如,为了避免在提供 6144 千字节的文件时出现警告,这三种方法中的哪一种会产生最佳性能?

  1. 大量小缓冲区:fastcgi_buffers 768 8k
  2. 少量大缓冲区:fastcgi_buffers 8 768k
  3. 缓冲区和大小之间的接近平衡:fastcgi_buffers 64 96k

还有一件事:在我的 ngnix.config 中 - 我的设置是:

fastcgi_缓冲区 64 4k;

即 256K 缓冲区大小(我在 32 位平台上)。这是否意味着如果我的 PHP 脚本生成大于 256K 的响应,nginx 会抛出一些错误?

我知道 ngnix 论坛似乎是提出这个问题的更好的地方,但是由于没有一个 ngnix 论坛比 serverfault 更活跃,所以我在这里发布了这个问题。

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

谢谢,

-拉胡尔

答案1

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

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

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

相关内容