多个客户端频繁访问数据库的问题 我的程序有很多客户端,会频繁的访问数据库,造成经常会有客户端不能访问到数据库,这样二层好像不能满足要求,但是有高手说三层在这也没有什么优势。客户端数大于100,小于500请问有哪位高手、大侠给个实用方案? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果没有猜错的话,大多数客户因为连接断掉而不能得到数据库的服务,从这个角度去考虑,三层结构会更好的解决问题,再加上MTS更是绝妙。至于很多客户,就要看你的服务器是否竟得起考验了,中间层可以从中间来分担负载,保持连接,这么会说三层不能解决问题呢?我不同意。 COM+的缓冲技术会起作用的,因为访问数据库的过程中,建立连结是比较费时的;还有,你是不是用了间隔短的定时器来访问,这样比较不好。如果这样,最好用主动方式的IP多播。 用C/S结构开发是有这个问题,b/s下的基于web会好一点的,我也经常碰到,好象还没有很好的方案。只能多开用户数用用算了。 把电脑硬件换换什么 IDE -> SCI .......... 其实类似于此类的问题我也在工作中遇到过,当时我们在客户端采用的是WINSOCKET的连接方式,这个东东我可是不敢恭维,能把你应用层的系统资源给消耗的干干静静,你可以尝试使用HTTP协议的连接方式,具体说是采用WebConnection连接应用程序服务器 我现在使用的是C/S的二层架构,用的是ADO连接,如果换成是Webconnection的话,会不会更好些? 你这种问题是很明显的,数据库提供的连接数有限,如果你的客户端全部设置成KEEPCONNECT的话,每一个连接都不会释放,数据库忙不过来了。解决这类问题只有两种途径:1、优化现有程序,尽量使每一个并发用户锁库的时间最短2、改用三层结构,让中间层处理跟数据库的连接 我想是SQL SERVER查询时锁表造成的,这是一个不太好解决的问题。 导出到txt 拷贝得到有汉字乱码怎么解决? 执行"Application.messagebox(‘...’); exit;"后,怎么前一窗体也关闭了? 为重庆开县井喷、伊朗地震事故中的死难者默哀! 怎么删除表中的纪录亚?? 一个数学函数 求助软件开发需求说明书、详细设计说明书例子 送分,关于一个控件 参数的默认值问题 如何读取一个文本中第n行第m个字符呢? 用delphi 在win2000下,有什么办法可以注册成系统服务? 请教,要实现TCP/IP通讯用什么控件啊(名称,位置)?
还有,你是不是用了间隔短的定时器来访问,这样比较不好。
如果这样,最好用主动方式的IP多播。
1、优化现有程序,尽量使每一个并发用户锁库的时间最短
2、改用三层结构,让中间层处理跟数据库的连接