EJB客户机与Servlet访问eJB的速度的比较


源起
----
由于Web的可用性方面的原因,我们的用户希望采用多层CS结构莱架构Java应用,使用Java作为客户机,APS用Websphere和Jboss

配置
----
APS: Jboss 4
客户端: interest (著名的)
修改工具:Jbuilder 9
建APS配置在网络上还是本地机上相差不大


问题
------
速度问题

在使用Servlet来调用Ejb的时候
init context time: 0Ms.
lookup: 0Ms.
narrow: 250Ms.


而使用EJB客户端来调用EJB的时候:er
其速度如下:
init context time: 1320Ms.
lookup: 6500Ms.
narrow: 350Ms.

其速度不能容忍

不知道是什么原因

只要在一个JVM里面 init一次,第二次就没有时间开销了,你的App Server老是开着,所以Servlet没有init开销。后面的开销主要是因为EJB客户端刚刚启动JVM,所以调用之前要load一大堆Class,当然慢,而Servlet已经被运行过了,所以快。

你可以在客户端程序里面用连续调用两次EJB,看看第二次还有没有开销。