0

我的网络应用程序,一个爆炸的WAR,由Apache(静态内容)和Tomcat(动态内容)通过mod_jk. 可选地,这个系统有一个 ActiveMQ 组件,但它目前没有被使用。

据我了解,每个 HTTP 请求都会命中 Apache。如果是动态内容请求,Apache 会通过 mod_jk 将请求转发给 Tomcat。为了满足这个请求,Tomcat 将启动一个新线程来完成这项工作。

我在 6 核、12 GB RAM 的机器上运行该应用程序。

除了使用 ActiveMQ 组件,我还可以如何提高我的系统性能?另外,如果我错误地说明了 Apache 和 Tomcat 的通信方式,请纠正我。

4

1 回答 1

1
while (unhappyWithSitePerformance) {
  executeLoadTest();
  identifyBiggestBottleneck(); // e.g. what breaks first
  fixIdentifiedBottleneck();
}

没有空白的银弹可提供。您应该确保您的负载测试模拟真实的用户行为,并定义您希望服务器在给定的响应时间内处理的(虚拟)用户数量。然后调整您的服务器,直到达到您的目标。

要查找的常见参数是

  • 内存消耗
  • CPU 消耗(例如某些算法)
  • I/O 饱和 - 例如与数据库的通信、使网络适配器饱和的一般 HTTP 流量
  • 数据库或后端响应时间 - 例如,有时您必须调整后端,而不是网络服务器本身。
于 2013-04-07T11:21:01.577 回答