【问题标题】:Deploying multiple applications on an application server(weblogic/websphere)在应用服务器上部署多个应用程序(weblogic/websphere)
【发布时间】:2018-08-14 04:40:47
【问题描述】:

当多个应用程序部署到一个应用程序服务器时,它们是否都共享同一个 JVM?

如果不是,每个应用程序是否针对不同的 JVM?

如果是,那么它不会成为性能问题 - 例如:多个应用程序使用相同的堆空间,这意味着更频繁的垃圾收集等?

将这些应用程序部署为带有 tomcat 的自包含 Sprinboot 不是一个好主意吗?

我知道我们可以选择使用不同的域来为每个应用程序拥有单独的 JVM - 但仍然有许多应用程序服务器启动并运行也会消耗更多资源?

【问题讨论】:

标签: java performance jakarta-ee websphere weblogic


【解决方案1】:

对于 weblogic 服务器来说,所有部署的应用程序共享同一个 JVM。垃圾收集的频率与您设置的最小/最大堆大小有关。将最小堆大小 (-Xms) 设置得更小或将最大堆大小 (-Xmx) 设置得更大会影响垃圾回收发生的频率,并确定应用程序可以拥有的大致实时数据量。

更多信息:https://docs.oracle.com/cd/E13221_01/wlrt/docs11/intro_wlrt/tuning.html https://docs.oracle.com/cd/E12529_01/wlss31/configwlss/jvmgc.html https://blogs.oracle.com/imc/weblogic-server-performance-and-tuning:-part-i-tuning-jvm

【讨论】:

  • 如果有 WebLogic 服务器集群呢?在那种情况下,您不能在多个 WebLogic 服务器(以及多个 JVM)上同时运行一个部署的应用程序吗?这当然可以通过 WebSphere 来实现,以实现扩展性和弹性。
  • 当然可以,否则我认为集群将毫无意义。
  • 那么你说的“所有部署的应用程序共享相同的JVM”不一定是真的,对吧?
  • 聚类不影响这个问题的答案。当您对服务器进行集群时,这并不意味着您为单独的应用程序提供单独的 JVM,这意味着您的应用程序在多个 JVM 上运行。无论是否集群,多个应用程序将同时在特定的 JVM 上运行。问题是关于在应用程序之间共享 JVM。这不是在多个实例上运行单个应用程序。
猜你喜欢
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多