在我的服务器中转动zlib.output_compression有什么警告吗?

时间:2010-06-02 18:01:19

标签: php optimization performance execution

我在服务器上启用了zlib和Zend Optimizer,并且我已经阅读了

zlib.output_compression

指令。在我的服务器中转换此指令有什么警告吗?

4 个答案:

答案 0 :(得分:7)

首先,你应该确定瓶颈是什么(或者可能是负载不足) 通过打开(透明)压缩,您可以交换cpu资源以获得数据(网络)吞吐量。所以,你必须考虑:我的数据(高度)是否可压缩?将数据传输到客户端所需的时间是瓶颈吗?我可以花多少CPU资源进行压缩?我的脚本使用了哪些其他资源(例如内存消耗,数据库连接......)?哪个资源会成为(重负载)下的瓶颈?脚本的一个实例何时,何地以及多长时间阻止另一个实例?等等。

您可能也对YSlow等工具,xdebug内置的{},apache benchmarking tools,({code})缓存(如apc ...更多。

答案 1 :(得分:3)

加速PHP代码可以做的最有效的事情是运行opcode cache

Zend Optimizer +就是一个例子。较旧的Zend Optimizer(没有“+”)是代码优化器,而不是操作码缓存,如果你不使用操作码缓存,它实际上可能会减慢PHP代码。

在你这样做之后,需要花费大量精力去测试瓶颈(正如其他人提到的那样)。您需要仔细重构代码以缓解瓶颈。大多数性能专家表示,性能问题是由不良的应用程序架构引起的,而不是单独的代码行。

缓存您需要多次显示的内容也是提高性能的常用解决方案。但是,决定要缓存哪些内容以及持续多长时间,是另一个需要进行测试和实验并做出判断的领域。

考虑到瓶颈可能根本不在您的PHP代码中。可能是您的数据库没有正确的索引。 Finding the right indexes鉴于您需要运行的查询也是一丝不苟的工作并涉及测试。

您的瓶颈也经常出现在客户端。即使您的PHP代码在服务器上快速运行,页面也可能无法在浏览器中加载,从而产生性能不佳的感觉。

恕我直言,所有网页设计师和开发者都应该让Steve Souders booksblogs阅读。

这也与您询问的zlib配置以及YSlowGoogle PageSpeed等客户端性能衡量工具有关。

答案 2 :(得分:2)

了解情况分析。
然后优化瓶颈。

答案 3 :(得分:1)

输出压缩是最佳选择。 将压缩级别设置为1 ,因为它提供了最大的节省/ CPU开销比率。默认级别是1-9比例的6,这可能会因为减慢一些额外的字节而降低效率。