【问题标题】:multiple web app on the same tomcat instance bad or good?同一个tomcat实例上的多个Web应用程序是好是坏?
【发布时间】:2015-02-02 08:41:25
【问题描述】:

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

在新的 tomcat 实例上部署新应用程序可能更适合管理以及应用程序维护和部署。但我们正计划在相同的 10 个现有 Tomcat 实例上部署新应用程序。

这是一个好方法吗?这会不会影响性能(内存消耗、线程池消耗、类加载...)?

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

【问题讨论】:

  • 不好,不过没问题。
  • 它可能对tomcat资源消耗不利,如线程池,java内存,也不容易维护。

标签: java performance web-services tomcat


【解决方案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

我希望你现在清楚了:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-23
    • 2014-01-26
    • 2012-03-18
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多