EJB 方法调用排队
对企业 bean 的方法调用仅为进行方法调用的远程客户机排队。远程客户机的示例是运行在与企业 bean 分开的 Java 虚拟机 (JVM)(另一个地址空间)中的 Enterprise JavaBeans (EJB) 客户机。相反,如果在 EJB 方法运行的同一 Java 虚拟机以及作为 EJB 客户机执行的同一线程上安装 EJB 客户机(无论是 Servlet 还是其他企业 Bean),那么不会出现排队。
远程企业 bean 通过使用在因特网 ORB 间协议 (RMI-IIOP) 上的远程方法调用进行通信。在 RMI-IIOP 上启动的方法调用由服务器端对象请求代理 (ORB) 处理。线程池充当入局请求的队列。不过,如果发出远程方法请求而且在线程池中不再有可用的线程,那么会创建新线程。在方法请求完成后,就会将线程破坏。因此,当 ORB 用于处理远程方法请求时,由于使用未绑定的线程,EJB 容器是开放式队列。
以下说明描述了企业 Bean 的两个排队选项。

以下说明描述了企业 Bean 的两个排队选项。

![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
- 分析 EJB 客户机的调用模式。
当配置线程池时,了解 EJB 客户机的调用模式是重要的。如果 Servlet 执行到远程企业 Bean 的少量调用且每种方法调用相对较快,请考虑在 ORB 线程池中将线程数设为低于 Web 容器线程池大小值的数。
ORB 线程池值需要增加到的等级是调用企业 bean 的同步 servlet(即客户机)的数目和每个方法调用的持续时间的函数。如果方法调用较长,或应用程序将很多时间用在 ORB 中,请考虑使 ORB 线程池大小等于 Web 容器大小。如果 Servlet 仅对 ORB 进行短生命周期或快速调用,那么 Servlet 大概可以重新使用同一 ORB 线程。在这种情况下,ORB 线程池可以是小的,甚至可能是 Web 容器的线程池大小设置的一半。
- 监视正在使用的已配置线程的百分比。
Tivoli Performance Viewer 会显示称为最大百分比的度量值,此度量值用于确定使用已配置线程的频率。始终以两位数表示的值,表明 ORB 上可能的瓶颈。增加线程数。