我在使用DCom开发三层应用,出现数据访问减速问题,怎么回事?(30分)

  • 主题发起人 主题发起人 biggo
  • 开始时间 开始时间
B

biggo

Unregistered / Unconfirmed
GUEST, unregistred user!
我的中间层是Dcom开发的,
在客户端我通过中间层获取数据库数据,但在执行的时候发现有时候获取数据有停顿的现象。
多数情况下,客户端取得数据库数据都是很快很流畅的,感觉不到时间延迟,
但偶尔会停顿1-2秒钟才能把数据显示到屏幕上来,
到现在为止没有出现应停顿而死机或应用服务器当掉的现象。
目前我的代码还在开发阶段,中间层应用服务器和客户端都是在本机执行的,还不存在网络延迟的问题。
停顿延迟的现象大概发生的几率在几分之一到十几二十分之一左右,应该说发生率还是很高的,
请教大家有没有遇到这样的问题,可能是在哪个环节有问题。
我的中间层是MultiInstance结构, Apartment线程
工作环境是WinXP,P3-733,288M,Delphi6-sp2
 
重点关注,我也准备用此开发项目!值得交流!
 
[?][?][?][red]拜托各位三层开发高手了![/red][?][?][?]
 
停顿时机是否发生在后端执行存储过程时期
 
不是存贮过程,直接是简单的Select语句。
而且表中的数据不多,也就那么及条到几十条左右。
关于停顿的时间上面说错了,一般有3-5秒,长一点8-10秒也有
但是,还从来没有死过机,中间层应用服务器也没有当过。
就好象老虎打盹一样,醒来又是生龙活虎。
 
如是数千条,或上万条,有所停顿是正常的。
是不是你的程序中,有资源未释放干净,成造成的问题?
 
不存在数据量大的问题,现在数据库中的记录也就几条到几十条。
不是资源释放问题,
问题大多出现在对话框刚刚建立打开数据集的时候,
如果该对话框已经建立过一次,关掉后再打开,一般情况下,速度基本正常。
 
>>问题大多出现在对话框刚刚建立打开数据集的时候,
嘿嘿!明白了,这太正常了,当一个连接第一次连接数据集时,
都会有所延时的,如你使用的是Oracle时,这个就更明显了。
解决的办法,是你整个软件,只使用一个TADOConnection,
每一个模块中的TADOConnection,都可由主模块的TADOConnection映射过去。
而在一执行时,就把TADOConnection的连接打开。
你试试再说了
 
应该就是adoconnecxtion的问题了。
 
楼主,DCOM在WINXP下怎么配置?
我在win2000下配置成功,但在WINXP 下没有成功。
delphi为6.0
 
您在数据模板放SESSION组件没有?用它来分配资源。我也被这个问题困绕。只是很多书上都这么说。
 
同意程云
 
后退
顶部