nginx + php-fpm + apc …压缩?

我有一个VPS运行nginx 1.1.19,php-fpm 5.3.10和APC 3.1.9。 服务器主要运行PHP脚本(vB,SMF,IPB)。我也使用Cloudflare作为CDN。

据我所知,有3个压缩选项,我不确定哪个是相互冗余的,或者它们是什么,哪个服务应该处理。

nginix有gzip,php-fpm有zlib,PHP脚本本身有gzip。 我觉得我已经在很多文档中看到,如果一个web服务器(nginx)正在处理gzip,PHP脚本不应该这样做。 应该在php-fpm zlib与gzip一起启用还是在技术上是一样的东西? 我看到一个源代码说zzib /压缩的gzip / mod_deflate是多余的,不必要地使用CPU周期,但是当zlib和gzip都启用时,我的vB安装似乎运行更顺畅。

有没有人知道这种设置最有效的压缩组合/安排?

我不确定会发生什么,如果你启用多层压缩,但我会在最顶层,即Nginx启用它。 这会捕获dynamic生成的PHP内容,还会捕获由Nginx直接提供的静态内容。 在将内容发送到客户端之前,我将压缩视为最终输出filter之一。

您需要在nginx中使用gzip,并在您正在使用的web应用程序中禁用gzip。 两者都启用将导致gzip中断。
根据我的经验,Cloudflare只会减慢网站速度(静态内容在高峰时间缓慢服务),但如果我没有记错的话,Cloudflare也有一个压缩(gzip)选项。

zlib和gzip格式都在内部使用相同的压缩数据格式,但在压缩数据周围有不同的标题和尾部。
另一方面,zlib格式是为内存和通信通道应用程序devise的,并且具有更紧凑的头部和尾部,并且使用比gzip更快的完整性检查。

而不是APC,你可能要考虑尝试eAccelerator。 许多用户报告它比APCperformance更好。

如果您想进一步优化,请查看Google PageSpeed和YSlow。 他们在优化我的网站上肯定帮了我很大的忙!