请教,DCOM在企业环境下性能如何

yinyu 2000-06-16 11:57:00
用DCOM代替纯粹的socket作为企业环境下(多数据库操作、数据量大、用户多)应用程序的体系机构它的性能如何呢?
比之纯粹SOCKET有什么优缺点呢?

望指教!
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yinyu 2000-06-17
  • 打赏
  • 举报
回复
感谢mach的帮助,在下不敢独享,将mach的文章发表与此,共大家参考
以下是mach的回复

我说dcom性能不如naked socket,是指rpc机制本身的低效和由于安全认证机制带来的多趟往返,其实如果考虑到多service多server平衡负载的话,naked socket应用的性能是没法和corba,dcom,ejb应用比的。你只要意识到rpc的这种局限性,可能被远程调用的对象的接口要尽量简单(就是每个方法的功能尽量强大,使得调用它们的次数减少),性能是可以接受的,另外,忘了微软吹嘘的dcom的位置透明性吧,哪些对象在本地的用的,哪些是在远程用的一定要心里有数,然后采取相应措施优化。
在早先的windows nt环境下,微软的应用服务器就是mts,个人感觉性能一般,也就是桌面级的水平,不过也可能是nt的问题,如果不使用安全认证机制,性能可以提高不少。使用三层结构的初衷本来就不是为了提高速度,而是从软件工程的角度来考虑的,所以性能只要不是太恶劣,还是可以接受的。
mts作为应用服务器感觉不是很强大,好像不如weblogic和websphere。
使用应用服务器的一个好处是能够平衡负载,这可以弥补使用rpc带来的低效,甚至可以得到比普通socket服务器好得多的性能,我说mts不好,就是因为它不支持动态负载均衡,只实现了静态负载平衡,这个缺点在win2k下的com+(新版本的mts)得到了改善(这只是据说,我没试过,不过从介绍的情况看,应该可以接近或达到基于corba的weblogic的水平),不过由于你在mts下开发的应用可以很容易的过渡到com+,所以你的应用如果是基于DCOM,我建议你一定按照mts或com+的规范去做(比DCOM稍复杂一点)。
其实,如果你使用得当,基于mts/com+的应用是可以有合理或很好的性能的。


lapple 2000-06-16
  • 打赏
  • 举报
回复
mach有道理
mach 2000-06-16
  • 打赏
  • 举报
回复
使用DCOM,CORBA,EJB等技术,在速度上不会比传统的纯socket应用有什么优势的,使用这些技术不是处于速度效率的考虑
使用DCOM我想是因为它的语言无关性,位置透明性,集成的安全机制和面向对象的语义吧,但是不要指望这种基于RPC机制的技术会比用socket直接传报文快.

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧