我欲崩溃:看看CMP实体Bean的执行效率

[复制链接]
查看11 | 回复9 | 2005-9-4 16:00:38 | 显示全部楼层 |阅读模式
用JBuilder随便做了一个CMP实体Bean ZhZfjzgc,安装在我机器(P4 1.7G,512M)的JBoss上面,对应的表ZH_ZFJZGC有10几条记录,在另外一台服务器上。
通过关键字查找实体Bean,输出结果如下
-- Initializing bean access.
-- Succeeded initializing bean access.
-- Execution time: 734 ms.
-- Calling findByGcdm(999)
-- Succeeded: findByGcdm(999)
-- Execution time: 126265 ms.
-- Return value from findBygcdm(999): ZhZfjzgcRemote:com.borland.samples.welcome.ZhZfjzgcPK@dd19.
SP_ZH_JZCL_END

速度也太慢了,而且这个实体Bean简单的几乎都不能再优化了。
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
哦,竟然会这样。
不过CMP题到的优势里面,好像真没有关于时间效率的优势。
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
P4 和jboss 都不是好的東東..
建議用 aix + websphere/weblogic
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
最初由 fuckeds 发布
[B]P4 和jboss 都不是好的東東..
建議用 aix + websphere/weblogic [/B]

觉得如果EJB实例在服务器中有相当数量,并且有较大量的并发访问,可能机器配置高还有用,可是我就是有一两个EJB实例,供我自己访问,一台PC和一台小型机之间的效率差异应该是不大的(就跟算出1加1等于多少一样,什么机器都差不多),可是在我的测试中一个实体Bean的查找居然要两分多钟
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
有几个问题:
1。你是否对数据库作了优化,findBy是否使用index
2。CMP是否是用得local interface。
3。cache开多大?
4。如果你做得profile是第一次的数据,建议你再做几次,会有非常大的不同。
5。数据是否由blob一类的entry。这也会影响速度。
6。网络速度是否够?ejb速度慢的大多数原因在于网络。
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
最初由 yining 发布
[B]有几个问题:
1。你是否对数据库作了优化,findBy是否使用index
2。CMP是否是用得local interface。
3。cache开多大?
4。如果你做得profile是第一次的数据,建议你再做几次,会有非常大的不同。
5。数据是否由blob一类的entry。这也会影响速度。
6。网络速度是否够?ejb速度慢的大多数原因在于网络。 [/B]

问题1,5
我的表很简单:
CREATE TABLE ZH_ZFJZGC
(
GCDMCHAR(3 )
NOT NULL, --过程代码
GCMCCHAR(40 )
NOT NULL,--过程名称
GCSMCHAR(40)
--过程说明
);
共有11条记录
问题2
我直接用客户端访问,用的是remote interface,怀疑速度慢就在这,可是有时候确实需要remote interface时,速度难道还是这样
问题3,4
试了几次,效果是好了不少
问题6
我的是局域网阿
想和大家探讨一下如何提高EJB的效率。
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
在观察到这个实体Bean钝化以后,重新执行客户端程序,速度更吃惊:
-- Initializing bean access.
-- Succeeded initializing bean access.
-- Execution time: 750 ms.
-- Calling findByGcdm(999)
-- Succeeded: findByGcdm(999)
-- Execution time: 130437 ms.
-- Return value from findBygcdm(999): ZhZfjzgcRemote:com.borland.samples.welcome.ZhZfjzgcPK@dd19.
SP_ZH_JZCL_END
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
把GCDM设置成index会快些。
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
我在我得机器上也象你那样做了,没有那么恐怖,就2秒左右
回复

使用道具 举报

千问 | 2005-9-4 16:00:38 | 显示全部楼层
JAVA不是这一级的机器玩的了
用RS6000+WAS吧实在不行就用OS390:p
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行