没分了。但是却有了致命的问题。大侠们啊,救命啊。DCOM的问题呀(55分)

  • 主题发起人 主题发起人 墨剑
  • 开始时间 开始时间

墨剑

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了DCOM应用程序昨天开始正式测试运行。服务器是win2000,客户端是win98.网络是局域网。
但是问题就出现了:每一台客户端单独连接都能成功操作。但当有超过8台的客户端连上来
以后,其他客户端就连不上来了,出现了死机。我想问大家的是DCOM是否有一个客户端数量
限制的问题?或者是win2000客户数量限制的问题?
还有就是当客户端非正常断线后,应用服务器的线程还是存在的。(这是我查数据库的session知道的。因为我一个线程启用了一个数据库连接)。我想知道怎样在程序中
去杀死一个线程?
 
你的前一个问题,因为不知道具体情况,给出几个可能的原因,(注:个人臆断,不一定正确):(1)DCOM没有Resource pooling 功能,所以在多个客户端连接的情况下,效率很低,(2)你的DCOM应用服务器的Instance模式和Thread Mode是怎么设置的,在DCOM下,Instance最好为Mutiple Instance,Thread最好是tmApartment,如果可能的话,建议升迁为COM+架构,
至于第二个问题,也许你的客户端A,在退出之前,忘记了将RemoteServer.Active:=False;可以想像,在这种情况下,中间层将为客户端A继续保持一个连接(Instance),如果中间层上的DatabaseConnenction.KeepConnected为True的话,这个中间层Instance会一直持续数据库会话。
 
1)我不知道Resource pooling 功能怎样设定。
2)我的DCOM已经设为Mutiple Instance和tmApartment
关于第2个问题,如果客户端退出时,dcomconnecttion的连接自动断开,从服务器上可以
看出已经少了一个session.session没有减少的情况是客户端非正常断线,比如死机或停电等等。
 
你服务器的性能怎么样,连到8个client后观察服务器内存,Cpu的
使用情况.
 
服务器的内存和CPU的占用都不大,就比没有客户端连上来的时候大一点点。
 
接受答案了.
 
后退
顶部