【发布时间】:2012-02-28 21:38:03
【问题描述】:
在 Apache 服务器中启用压缩 (gzip/deflate) 会减小响应的大小,但会增加更多的 CPU 周期,我将使用各种响应大小运行压力测试,但是 我想问一下在服务器负载方面是否有关于何时应该打开或关闭压缩的建议?
谢谢
【问题讨论】:
标签: apache compression gzip deflate content-encoding
在 Apache 服务器中启用压缩 (gzip/deflate) 会减小响应的大小,但会增加更多的 CPU 周期,我将使用各种响应大小运行压力测试,但是 我想问一下在服务器负载方面是否有关于何时应该打开或关闭压缩的建议?
谢谢
【问题讨论】:
标签: apache compression gzip deflate content-encoding
在大多数情况下,Web 服务器受到 io 的限制(无论是内存、网络带宽、数据库、硬盘驱动器……),并且有足够的空闲 CPU 周期用于在提供页面之前对其进行压缩,尤其是因为这甚至不是真正的 CPU 密集型,但它为您的用户提供了巨大的可用性提升并节省了您的带宽。
【讨论】:
我认为只要服务器有强大的CPU,就使用压缩。速度通常是服务器在安全性和稳定性之后应该具备的最佳特性。
【讨论】:
这取决于您想要达到的目标。通常,打开 deflate 不会显着增加 CPU 性能,如果您的网站包含大型文本文件(html、js、css 等),它可能会对带宽使用和页面加载产生重要影响次。当然,如果您想要减少系统负载并且不太关心带宽,那么这不是您的正确选择。
您可能会发现另一个有用的选项是安装轻量级 Web 服务器/代理,例如 Nginx、lighttpd 或 Varnish(我个人更喜欢第一个),并使用它提供压缩的静态内容(留下较重的 Apache 进程仅用于处理动态内容)。这也可能会导致服务器的整体性能更好。但是,同样,这些都取决于您的场景、您的网站/Web 应用程序是什么样的以及您想要实现的目标。
【讨论】: