gpt4 book ai didi

optimization - WebSphere Application Server EJB 优化

转载 作者:行者123 更新时间:2023-12-03 17:36:58 25 4
gpt4 key购买 nike

我们正在开发基于 Java EE 的应用程序。我们的应用程序与 Java 1.5 兼容,并将部署到带有 EBJ 3.0 和 Web 服务功能包的 WAS ND 6.1.0.21。目前的配置是一个单元有两个集群。每个集群将有两个节点。

我们的应用程序,或者我们的系统,正如我应该说的,分为两三个部分。

第 1 部分:部署到包含第 3 方供应商代码和自定义代码的集群的耳朵。他们的代码符合 EJB 2.0,并且有很多 Remote Home 接口(interface)。

第 2 部分:部署到与第一只耳朵相同的集群的耳朵。该耳朵包含调用供应商提供的 EJB 2 和自定义代码的 EBJ 3。这些 EJB 3 由也与 EAR 一起打包的 JSF UI 使用,其中一些还作为 Web 服务(符合 SOAP 1.2 的 JAX-WS 2.0)公开给其他客户端。

第 3 部分:可能有其他服务不依赖于我们的供应商/自定义代码应用程序。这些服务将是 EJB 3.0 和部署到其他集群的 Web 服务。

根据现场一些 IBM 员工的建议,集群中节点之间的通信可以是 EJB RMI。但是,如果我们要跨越集群和/或其他单元,那么通信应该是 Web 服务。

也就是说,我们中的一些人想知道性能和优化通信以提高我们将使用我们的 Web 服务和 EJB 的应用程序的速度。现在大多数 EJB 都暴露为远程。 (我们的供应商就是这样设置的,而不是公开本地家庭接口(interface))。我们想知道 WAS 是否在同一节点/集群节点空间中的应用程序之间进行任何优化。如果两个应用程序安装在同一个区域,并且它们通过远程主界面相互调用,那么 WAS 是否足够聪明,可以使其成为本地主界面调用?

他们还有其他优化技术吗?我们应该考虑他们吗?我们不应该吗?成本/ yield 是什么?这是我们的一位团队成员在他们的电子邮件中发送的问题:

问题是:假设我们将 EJB 开发为远程 EJB,其中我们的 UI Controller 代码通过 EJB3 与我们的 EXT java 服务通信……当 EJB 服务器和客户端都在同一个容器中运行时,我们有哪些性能优化选项?

作为引用,google 给了我一些 2000 年的 oooooold websphere 性能调整文档,其中解释了一种调整配置,当它们位于同一个应用程序服务器 JVM 中时,您可以设置为 EJB 通信启用按引用调用。它声明如下:

因为 EJB 本质上是独立于位置的,所以它们使用远程编程
模型。方法参数和返回值通过 RMI-IIOP 序列化并返回
按值(value)。这是内在的 RMI “按值(value)调用”模型。

WebSphere 为运行 EJB 提供“无本地副本”性能优化
和客户端(通常是 servlet)在同一个应用服务器 JVM 中。 “没有本地
副本”选项使用“通过引用调用”并且不会为被调用创建本地代理
当客户端和远程对象都在同一个进程中时的对象。取决于
在您的工作量上,这可以显着节省开销。

通过添加以下两个命令行参数来配置“无本地副本”
应用服务器 JVM:

* -Djavax.rmi.CORBA.UtilClass=com.ibm.CORBA.iiop.Util
* -Dcom.ibm.CORBA.iiop.noLocalCopies=true

注意:“无本地副本”配置选项通过以下方式提高性能
将同一 JVM 中的客户端和 EJB 的“按值调用”更改为“按引用调用”。
这样做的一个副作用是 Java 对象派生(非原始)方法参数
实际上可以由被调用的企业 bean 更改。考虑图 16a:

此外,我们还将在 future 使用 Process Server 6.2 和 WESB 6.2。有任何想法吗?建议?

谢谢

最佳答案

唯一可以真正为远程 EJB 完成的自动优化是它们是否位于同一位置(从同一个 JVM 中访问)。在这种情况下,如果请求需要通过线路,ORB 将短路一些原本需要的工作。仍然会有一些必要的 ORB 开销,包括对象序列化(除非您打开 noLocalCopies,否则会带来所有警告)。

或者,如果您知道 UI Controller 位于同一位置,您的方法调用不依赖于参数或返回值复制,并且您的接口(interface)不依赖于本地和远程 View 之间的异常差异,那么您可以创建并公开一个本地子接口(interface)这将比通过 ORB 进行远程访问要快得多。

关于optimization - WebSphere Application Server EJB 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1358934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com