有没有人知道 Varnish 在 1) Tomcat 或 2) 带有 mod_jk(连接到 Tomcat)的 Apache 前面的一些性能指标。我知道 AJP 连接器据说比 HTTP 更快,但我认为更轻量且高度优化的 Varnish 在直接与 Tomcat 通信时性能会更好。还有关于静态资源(我认为使用 Varnish 比使用 Apache 更快,即使使用 mod_cache)和动态页面的讨论。
答案1
通常,Varnish 的缓存命中速度比 Tomcat 快几个数量级 - 通常 TTFB 对于 Varnish 是微秒,对于 Tomcat 是毫秒。因此,当涉及 Varnish 时,连接器(AJP 与 HTTP)的性能可能并不重要。因此,选择更简单的设置 - 让 Tomcat 直接与 Varnish 对话。AJP 可能产生的边际效应将完全微不足道。
如果您考虑完全不使用 Varnish,我认为您应该问自己的问题是 Tomcat 的动态页面命中率是多少。如果命中率 >20%,那么我认为整体性能提升可能值得付出额外的复杂性,具体取决于页面的重量。