我刚刚将我们的博客网络从 apache 移至由 WPMU 提供支持的 ngnix。一切运行顺利,没有问题。
在尝试将服务器优化到最高级别时,我在 nginx 论坛上看到了这个帖子http://forum.nginx.org/read.php?2,2649
我真的很想知道:原始问题的答案......
例如,为了避免在提供 6144 千字节的文件时出现警告,这三种方法中的哪一种会产生最佳性能?
- 大量小缓冲区:fastcgi_buffers 768 8k
- 少量大缓冲区:fastcgi_buffers 8 768k
- 缓冲区和大小之间的接近平衡: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 脚本读取字节,将其发送到客户端并清空缓冲区的内容。如果有更多响应数据 - 它会再次读取并发送。
如果您的网站经常提供小型脚本生成的页面,则最佳值应比典型的脚本响应大小稍大:标头 + 内容。