浏览 5179 次
锁定老帖子 主题:讨论,大量请求时的效率问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-26
目前有2个解决方法,一个是通常使用的Servlet,一个是使用EJB的SB 1、使用Servlet,只要有请求,Servlet就会被调用,如果同时有大量请求,Servlet的效率会有问题。 2、使用SB,利用EJB的实例池,提高效率 不知用这2个方法哪个更好一些,或是有其他更好的方法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-03-26
你使用了sessionbean,难道中间没有经过控制servlet?还是直接在java bean里面调用session bean,不要忘了jsp就是servlet哦
|
|
返回顶楼 | |
发表时间:2004-03-26
mikeho,你说的没错,是我没说清楚
其实,在大量访问时,主要想控制数据库的访问效率, 1、普通情况下,基本流程 Servlet ->Model (普通class)-> DAO 这时,在DAO对数据库访问时,通过连接池取得连接。 2、使用SB,Servlet -> SB ->DAO 利用SB的实例池会否提高效率? 我想知道使用EJB在这里会不会起到好的作用。 |
|
返回顶楼 | |
发表时间:2004-03-26
引用 Servlet -> SB ->DAO 这个架构是强调事务安全的架构,不是性能优先架构。
通常情况下,上面那个普通Java Bean的架构性能是下面那个SB架构性能的3倍以上。 |
|
返回顶楼 | |
发表时间:2004-03-27
其实对象池在哪一层都可以使用,自己写一个就是了,如果没有远程调用的必要,servlet+ delegate+dao也是可以的。delegate代理目的是你以后加sb的话,客户端不用变。
|
|
返回顶楼 | |
发表时间:2004-03-27
是的,对象池并不难写,和连接池差不多。PoolMan 就可以同时做连接池和对象池的。连接池其实还是对象池。
|
|
返回顶楼 | |
发表时间:2004-03-29
mikeho 写道 其实对象池在哪一层都可以使用,自己写一个就是了,如果没有远程调用的必要,servlet+ delegate+dao也是可以的。delegate代理目的是你以后加sb的话,客户端不用变。
理论是哪层都行,但实际放在Dao之前才具有一定的可维护性。 |
|
返回顶楼 | |
发表时间:2004-03-29
struts的requestprocessor的里面的那个同步,效率不知怎样,如果用对象池(内存够大)来管理会不会更好呢?
|
|
返回顶楼 | |