三层应用系统的执行效率

luhongjun 2001-09-20 09:21:51
加精
系统当前配备如下:一台图片服务器,两台数据库服务器。两台数据库服务器的配置如下:
其中一台为方正1100,ECC 512M内存,单PIII 1G CPU,30G SISC硬盘2块。操作系统NT4.0,数据库ORACLE8I。常用数据表记录为540万。
另一台为方正1010,ECC 512M内存,单PIII 1G CPU,30G SISC硬盘2块。操作系统win2000SERVER,数据库MS SQL 2000。数据库为初建。

当前客户端有23个。在当前情况下应用服务器和装有MS SQL 2000的数据库服务器放到一起。

考虑到ORACLE8I用ADO连接有很多问题,所以用BDE连接ORACLE8I数据库,用ADO连接MS SQL 2000数据库。

对于ORACLE数据库,只查询其中的一个表,修改其中的一个字段,并且每次查询都是唯一的结果。

问:1:在应用服务器端,是建立两个远程数据库模块好还是建立一个远程数据模块。
2:使用什么方式查询ORACLE数据库效率最高。
3:以后客户端的数目还要增加,最多得增加到1700个客户端。平均应该多少个客户端增加一个服务器?
数据库服务器应该怎样扩充。
...全文
3591 76 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
76 条回复
切换为时间正序
请发表友善的回复…
发表回复
WANG_HANSONG 2001-09-27
  • 打赏
  • 举报
回复
test
rediori 2001-09-27
  • 打赏
  • 举报
回复
gz
WANG_HANSONG 2001-09-27
  • 打赏
  • 举报
回复
要确定一个系统效率低下的症结。 应该用逐步测试法

因为系统效率低下有可能是硬件原因也有可能是软件优化问题。或干脆是你用的三层就不能够支持那么多数据
要测试第一个原因。 应该把你的三层系统改为本地连接 , 看看是不是还慢。如果还慢
需要升级服务器。 ORACLE是很吃内存的。同时大数据库访问时查询效率主要受内存大小和硬盘速度影响。 所以实在不行的话就加个阵列

如果你肯定硬件配置可以满足的话。再来看软件是否该做优化。 当然需要你对ORACLE
很了解。 影响查询效率的几个软件方面的重要因素: 索引效率,系统设计

从你提供的测试方法和测试结构看。 应该是服务器效率问题而非客户端问题。
因为你COUNT一个300w表居然要用40秒。 多表联合查询时,表间索引一定要优化好
错误的表索引只会增加服务器的负担(表现再插入和更新时效率变低)
chickenzzz 2001-09-26
  • 打赏
  • 举报
回复
GZ,我也想学三层系统
haijiang_jin 2001-09-26
  • 打赏
  • 举报
回复
^_长了不少见识!!
dark_moon 2001-09-26
  • 打赏
  • 举报
回复
关注
Hover 2001-09-26
  • 打赏
  • 举报
回复
O~
BeyondSky 2001-09-26
  • 打赏
  • 举报
回复
存储过程速度很快,但写起来累,不好维护,最好不要一次返回太多的数据
BeyondSky 2001-09-26
  • 打赏
  • 举报
回复
存储过程速度很快,但写起来累,不好维护,最好不要一次返回太多的数据
fromskyline 2001-09-26
  • 打赏
  • 举报
回复
关注
gwbasic 2001-09-26
  • 打赏
  • 举报
回复
listen
gong_yue 2001-09-26
  • 打赏
  • 举报
回复
访问oracle用proc *c或存储过程(或许可以快一些)
gabril 2001-09-25
  • 打赏
  • 举报
回复
你的系统的扩展是一个比较复杂的问题
系统性能评估是我们的研究方向之一
你可以告诉我几个参数吗
1。 你的服务等级(response time):客户发出请求在多长时间必须回应?
2。客户的活动比率是百分之几?
3。客户的请求的种类?什么文件?多大?类型?
4。你的局域网的配置(具体的)。
。。。
至少有这些数据,我们才可以分析你的系统。给出1700个客户端你需要多少个服务器
这要用到排队网络的分析与建模
你要是感兴趣的话,请把参数发到我的email:
jacklee@ouqd.edu.cn
luhongjun 2001-09-24
  • 打赏
  • 举报
回复
讨论到此结束,结帐。
wjzhuang 2001-09-24
  • 打赏
  • 举报
回复
关注,学习!
jasmines 2001-09-24
  • 打赏
  • 举报
回复
gz
火鸟33 2001-09-24
  • 打赏
  • 举报
回复
go
MHB 2001-09-24
  • 打赏
  • 举报
回复
建议你在 客户端 程序中建两个全局 事务,一个事务是连接到 Oracel ,另一个事务连接到 MS SQL Server,都可采用 直接方式。
MHB 2001-09-24
  • 打赏
  • 举报
回复
其实,你这不是三层结构,我不知道你指的这三层是什么意思?

你这个项目无非就是 C/S 结构,你的中间层在那?起什么作用?
你这个项目无非就是 客户端 访问两个数据库服务器,这不是三层。
你的项目是 客户端 -> 中间层 -> 数据库服务器 这种结构吗?


zzy1012 2001-09-24
  • 打赏
  • 举报
回复
UPUP
GZGZ
加载更多回复(56)

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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