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

Java tomcat中的两个war文件与每个tomcat中的每个war文件-性能比较,java,tomcat,memory,war,Java,Tomcat,Memory,War,我有两个war文件要部署在一台linux服务器的tomcat中。我有两种方法来部署它们,因为只有一台linux服务器 在一个tomcat中部署两个war文件 A.内存分配将在两个war文件实例之间共享 B.部署任何一个war文件都意味着两个文件都需要停机 在两个不同的Tomcat实例中部署两个war文件 A.内存必须分别分配给每个tomcat。这意味着,如果第一个war文件在特定时间占用更多内存,而第二个war文件在不同时间占用更多内存,那么这两个Tomcat的内存分配将不是最优的 B.部署任何

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

  • 在一个tomcat中部署两个war文件
    A.内存分配将在两个war文件实例之间共享
    B.部署任何一个war文件都意味着两个文件都需要停机

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


  • 我想得到专家对我的设想的意见。还有我遗漏的其他要点。

    部署war文件并不一定意味着停机。可以使用新版本

    您还需要考虑如何管理端口。单个tomcat实例可以侦听端口80(或443)。如果您有两个tomcat实例,那么您现在需要一些其他进程(如httpd)在单个端口上侦听,并在url上匹配以转发到相应的tomcat实例


    内存的另一个考虑因素是tomcat本身有一些内存利用率。显然,这会随着其他实例的增加而增加。

    新版本的tomcat需要非常低的内存(小于20MB的RAM)才能在不部署任何war文件的情况下运行。运行tomcat的基本版本对CPU的要求也非常低

    另一边:
    大多数新版本的tomcat都能够在不重新启动的情况下重新部署war文件。提及


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

    试试看!这不难尝试。