三层结构速度问题(100分)

  • 主题发起人 主题发起人 上帝的弃儿
  • 开始时间 开始时间

上帝的弃儿

Unregistered / Unconfirmed
GUEST, unregistred user!
描述:
客户端:ClientDataSet+DcomConnection。
中间层:Ado+DataSetProvider+mts。
服务器:4cpu-P3-700,1G内存(或更好一点)。
客户处速度奇慢,提交数据或获取数据有明显的滞后或需要等待。
请问有没有兄弟有没有好的解决方法或别的好的三层的做法。
给分不限呀:),搞定了我请兄弟们吃饭,呵呵。
 
呵呵,吃饭?免了。
1、你是在internet上的么?
2、数据量有多大?全部取过来了么,可以考虑分段存取。
 
你把客户端只传送sql 语句可以大大的减少网络的传送速度,让大多的程序都运行在服务器端,这样
可以大大加快客户端程序的执行速度,也减少了网络的开销。
 
前不久刚好完成了个类似项目
希望对有有帮助:
一、尽量减少数据在网上的传输,(中央完成数据处理后,传回结果)
二、COM/DCOM每次连结的速度很慢,所以尽量减少DCOM重新连结的次数。(我的处理是
主程序每次启动时连结后,一直保持连接)
三、如在Internet上使用,最好采用Socket方式,(一来连接快,二来跨防火墙时容易
设置)
 
去看一下李维的书吧,上面很详细的
 
李维的分布式书上有提高效率的方法去查一下吧
 
三层在少用户下本来就比较慢!
 
补充:
一。本人做的医疗软件,目前仅在医院局域网内用。
二。数据量吗,可能一次操作有一,两张表有一万条数据,另外有三四张表有
上千条数据(主要指取数据,总中搜一,两条)。当然具体情况度不一样。
三。jabing兄说的方法很有道理,能让速度优化不少。
四。zxqht兄说的也有道理。但对数据复杂的操作就不太适用了。
五。ProviderDataSet.Data或OleVariant(数据包)给ClientDataSet.data付值很慢,
有没有兄弟不用ClientDataSet而提交数据的?:)
六。有没有兄弟用别的方法作中间曾?
附:版主能不能把我的给分加到最大,让兄弟们过个愉快的圣诞—祝兄弟们圣诞快乐-
玩它个痛快!^-^。
 
你用的是SQL server吧?慢死了!
我们数据库服务器的机器没有你好(康柏PIII700单CPU+512M内存)!但是我们的系统是
Redhat7.1+Oracle817
一万条数据?那么少!我们的10多个表都是50万笔记录
理论上DCOM是比Socket快的
 
一次操作1,2万条?能说的详细点么。
在grid里操作数据应该是分页的,不大可能一次塞1万多数据给用户
第一次会慢些,dcom里要连db,以后都还可以。
还有局域网里可以用dcom连,据李维得帖子socket不是很可靠。但前者过firewall也很痛苦。
 
"数据量吗,可能一次操作有一,两张表有一万条数据,另外有三四张表有
上千条数据(主要指取数据,总中搜一,两条)。当然具体情况度不一样。"
操作这么多数据,为什么要放到客户端呢,应该写到商业逻辑中,
我们大多数人做多层的时候都存在误解,只是增加一个应用层,并没有把
它的功能发挥出来
 
你你一次存取那么多数据有必要吗,应该采用分段多次存取。
 
我看到希望了呵呵:)
我说的取数据一般是多张表jion出一张表给客户看(一般只有一条数据或不会很多),
然后根据所取数据再取三,四张表给客户输入(一般数据为空或不会很多),
然后多表提交。
另:我用的是2000Server+SQLServer,(我说的服务器是中间成的,数据库也和它差不多吧)
但一般是中间层服务器cpu利用率
到了100%(这是我最害怕的,客户端跟死机了似的),而数据库服务器正常。
想请luyear兄说说Redhat1+Oracle的使用情况,维护方便吗?
另:这应该让自己的给分可以加,一边给,一边加,不超过它的上限,呵呵。
希望版主尽快把我的分加上去,我明天回到公司给大家发分,
现在这点,还拿不出手呀:)。
 
上帝的弃儿,你说到了要点:Redhat+Oracle 的确不好维护
要求你对linux很熟悉,不过系统很稳定,使用了一两年
除了掉电以外,基本没有没有down过,掉电重启动也没有什么故障
linux起来,Oracle基本上都能起来
我们的linux还当邮件server(有近200,user)呢!负担挺重的,不过还是顶的注
linux就是厉害!
 
恩,luyear兄这么一说,我得琢磨琢磨RedHat和Oracle了:)。
万一那慢如牛的东西真的不行,我只好拿它试试了,呵呵。
luyear兄是版主,把我的给分提上去吧:)
(随然高手们也都不在乎这些,可这是咱的一点心意呀,呵呵),
有没有兄弟在北京,我请客呀,我的qq:24140452
 
上帝的弃儿:
老兄你好,我也遇到了跟你差不多的问题,我想操作系统和数据库是原因的一方面,还有程序
结构方面的问题。李维书中有关于提高分布式系统效率的一章,看了看,跟很多的环节有关,比如
线程方式、远程调用方式等等。
我也在北京,我的mail是 rice_1314@sina.com
可以给我写信,我们好好探讨探讨,很想和你结识。
 
建议你使用数据压缩
 
多人接受答案了。
 
我是新手,请问用Dcom连接时,跨防火墙,这里的防火墙指的是局域网的防火墙,还是每个机子的防火墙?
 
后退
顶部