我们使用 F5 进行负载平衡和 SSL 代理。在它的背后,我们使用 Tomcat 实例提供 Java 应用程序。这些都是相当小的应用程序——数百个并发用户。
我想压缩一些内容,我正在寻找有关选择在 F5 或 tomcat 实例上配置压缩的建议。决定中的任何重要因素,还是其他六分之一的六分之一?
我们使用 F5 进行负载平衡和 SSL 代理。在它的背后,我们使用 Tomcat 实例提供 Java 应用程序。这些都是相当小的应用程序——数百个并发用户。
我想压缩一些内容,我正在寻找有关选择在 F5 或 tomcat 实例上配置压缩的建议。决定中的任何重要因素,还是其他六分之一的六分之一?
如果您正在执行第 7 层负载平衡 (HTTP),那么应用服务器压缩内容并没有真正的好处,因为代理会解压缩发送到客户端的内容。发生这种情况是因为 LB 可能支持与客户端请求不同的版本/选项。
示例 LB 与应用服务器使用 HTTP/1.1,但客户端使用 HTTP/1.0。第二个示例 LB 支持压缩,因此应用服务器的响应被压缩,但客户端不支持压缩。
您应该在应用程序服务器上禁用压缩并让 LB 处理压缩。您将为 LB 节省几个解压缩和重新压缩内容的 CPU 周期。
免责声明。我使用过其他负载均衡器,但没有使用 F5。
问题实际上归结为您希望在何处增加开销来处理要运行的压缩逻辑。如果你的应用程序服务器很强大,就把它放在那里,否则 F5 应该能够处理它。无论如何,这是您必须根据将压缩多少以及给您的系统带来多少额外负载来评估的事情。
BIG-IP 在大多数平台上进行硬件压缩(高达 ~16Gbps)。如果您的服务器在软件中执行此操作,则可以通过在其中进行压缩来节省服务器 CPU 资源。
BIG-IP 系统硬件产品数据表
http://www.f5.com/pdf/products/big-ip-platforms-datasheet.pdf
BIG-IP 不会解压缩响应内容,除非您配置了需要解析响应内容的功能(例如 HTTP 响应负载重写或 ASM 网络应用程序安全响应解析)。
亚伦