tomcat 中的两个 war 文件与每个 tomcat 中的每个 war 个文件 - 性能比较

Two war files in tomcat versus each war files in each tomcat - performance comparison

我有两个 war 文件要部署在一台 linux 服务器的 tomcat 中。我有两种部署方式,因为只有一台 linux 服务器。

  1. 将两个 war 文件合二为一 tomcat
    A. 内存分配将在 war 个文件的两个实例之间共享。
    B. 部署 war 文件中的任何一个,都意味着两个文件的停机时间。

  2. 在两个不同的 Tomcat 实例中部署两个 war 文件
    A. 内存必须分别分配给每个tomcat。这意味着,如果第一个 war 文件在特定时间占用更多内存,而第二个文件在不同时间占用更多内存,那么这两个 tomcat 的内存分配将不是最佳的。
    B. 部署 war 文件中的任何一个,都不会关闭另一个。

我想就我的场景征求专家意见。还有我错过的任何其他要点。

部署war 文件并不一定意味着停机。新版本可以是 deployed in parallel.

您还需要考虑如何管理端口。单个 tomcat 实例可以侦听端口 80(或 443)。如果您有 2 个 tomcat 实例,您现在需要一些其他进程(例如 httpd)来侦听单个端口并将 url 与 forward 匹配到适当的 tomcat实例.

内存的另一个考虑因素是 tomcat 本身会占用一些内存。显然,这种情况会随着实例的增加而增加。

tomcat 的新版本需要非常低的内存(少于 20MB 的 RAM)到 运行,无需部署任何 war 文件。 CPU 要求对于 tomcat 的 运行 基本版本也非常低。

另一边:
tomcat 的大多数新版本都能够重新部署 war 文件而无需重新启动。参考 tomcat's manager application

如果没有紧迫的原因,最好使用单个 tomcat 来部署不同的 war 文件。这使服务器管理变得容易。