三层结构速度慢,急 (100分)

  • 主题发起人 主题发起人 sunnyliu
  • 开始时间 开始时间
S

sunnyliu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi和Sql Server 做了一套三层结构的生产管理系统﹐
开始时运行速度不是很快﹐但还可以接受﹐随着数据量的增大﹐
速度显著下降﹐打开程序很慢﹐将服务器换成双CPU 的也没有显著改善,
想请教各位大虾有何高招
 
中间层用的什么写的呀?
 
说的具体些啊!!!!!
 
数据库端看看有没有可以改进的地方.
比如索引,存储过程.
 
你是不是用了很多Table控件,使用Table控件随着数据量的增大速度是变慢的。另外你从数
据库性能调整上再下的功夫.
 
看来是中间层慢
 
中间层用delphi写的﹐数据库因为建了主键而不能再建索引﹐没有用table控件,
全用的是query控件
 
你看看有没有可以用存储过程的地方。
使用存储过程有时也可以缩短时间的。
 
网络速度是多少?
应用服务器配置如何?
 
数据库量,客户量说说。。。

还有机器的配置。。
 
中间层是MIDAS吧,这是开发的BussinessObject作的不好,进行大量的数据调用,在客户
端连接时,中间层保留了太多的数据,系统效率极度下降
 
服务器是双CPU的﹐网络也是100兆的
每次打开数据库,也要打开相关联的数据库﹐但这是必须的
to shermen 能不能讲的详细些
 
中间层用的是DataSetProvider
 
客户端用DCOMConnection连接﹐在ClientDataSet的commandtext中写select
打开数据库
 
用DataSetProvider的时候需要注意,一个Provider提供一个查询的结果,记录数不能
超过500个,否则中间层服务器建立缓存池的时候,每个Provider占用的资源太大,如果
有许多的DataSetProvider,每个又启动了多个对象在缓存池,问题大大的了.
最好是在客户端激活DataSetProvider,用完后马上关闭.我觉得MIDAS不好,所以我使用
asta,
 
To sherman 什么是asta﹐缓存池能不能增大呀﹐因为我现在打开的都是必须要
打开的数据库﹐在已使用了MIDAS的前提下﹐有什么好的方法加快速度呢﹐
还请不吝赐教
 
我觉的你给的信息还是不够!
比如应用服务器data module是什么类型的:MTS、CORBA、MIDAS的
Tdatasetprovider有很多属性自己看看吧!
另外如果客户端MIDAS连接组件有时候因为异常没有释放对IPROVIDER接口的引用会造成
应用服务器资源的浪费。
建议如果是用MIDAS的中间层即 REMOTE DATA MODULE 请将
INSTANCING选为MULIPLE INSTANCE、THREADING MODULE 选为SINGLE或APARTMENT
再试试!
 
to nero_p 中间层就是 REMOTE DATA MODULE
INSTANCING就是MULIPLE INSTANCE、THREADING MODULE 是APARTMENT
还不行
 
SQL运行期间,所作的查询、临时表等操作都会把结果放入内存而不及时自动清理,
看看能否改进大批量数据查询,试试手动控制SQL缓存紧缩
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
I
回复
0
查看
756
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部