同一个tomcat实例上的多个web应用程序是坏还是好?

时间:2014-12-04 12:49:10

标签: java performance web-services tomcat

我们将在我们的生产服务器(HP-UX)上部署新的Web服务。 我们已经在servlet容器上部署了另一个Web应用程序(apache-tomcat 5.5)。 我们已经有10个tomcat实例(对于同一个现有的应用程序)在我们的机器上顺利运行,在负载均衡器后面没有任何问题,服务器也有足够的资源来添加三个新的tomcat实例。

在新的tomcat实例上部署新应用程序可能更适合管理以及应用程序维护和部署。但是我们很想在同一个10个现有的tomcat实例上部署新的应用程序。

这是一个很好的方法吗?这可能是性能不佳(内存消耗,线程池消耗,类加载......)?

在这种情况下,最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

正如您所说,您有足够的资源来创建新的tomcat实例。你可以创建一个新的。

首先考虑简化性能。如果您有免费资源,那么不使用它们的重点是什么。

对于性能比较可能是,

  1. If you create new tomcat instance then you need additional heap memory for new instance。如果你有那么多可用的内存,那么去寻找新的实例。在初始监视之后,您可以调整/调整堆内存的大小以提高性能。

  2. Using existing instance, will allow you to run application in existing memory. But thread pool and memory will be shared with other applications部署在同一个实例上。对于这两种应用程序,您可能无法获得最佳性能,也可能无法获得最佳性能。

  3. For memory operation on single instance, You will have to create new configuration用于交换,缓存应用程序的优先级。哪个应用程序在高峰使用时应具有低优先级。即使在负载平衡结束时,也需要额外的配置。

  4. 另一方面,新实例将允许以额外的内存和额外的cpu请求为代价运行具有专用线程池的专用应用程序。 If you have enough resources then seperate instance is a good choice for mgmt and performance perspective

  5. 我希望你现在明白了:)