应用服务器执行客户端请求,为什么总是串行的? 应用服务器是采用的Aparment,MultiInstance。而且在软、远程数据模块中使用的多Session,按理说,应用服务器会为每个客户端建立一个实例,而且每个实例都有单独的一个Session连接数据库。这样客户的操作应该是并行的,而我做了很多试验,结果显示应用服务器处理客户端请求是一个接一个的,当一个复杂任务执行很长时间时,其他客户端只有等其完成。请问是什么原因呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谁说 apartment 是那样的,Session 肯定没设对,所以当执行一个复杂任务时,Session 进入一个临界代码段,它阻塞了其它 Apartment 线程运行 用了 session 的东东要设 Session->AutoSessionName = true, Database ->Session = Session BDE 的最大 Session 数量只能是 50 - 60 之间,所以BDE可能不是什么适合三层开发,你可以考虑尝试ADO或DBExpress Session.AutoSessionName := True;//这是肯定定的;DataBase.Session := SessionName;//也不可以少;上边的确都说了,还有就是,这种方法没有在本质上解决一些问题,有时间就看一看它的Pooling,这样才能让Aparment + MultiInstance 发挥的更好;代码我记得已经贴过了,而且,对Pooler的说明我也贴过了,希望对你有用;在多层中,线程、实例可以说是提高效率的最大障碍 强烈建议丁丁看一下<delphi5.x分布式多层系统篇>(李维,机械工业) 请问各位,在D7中,DBExpress有了SQL SERVER2000的驱动,请问支持程度好吗?为何我用这个驱动的时候总有些毛病呢? 其实,就是一个Session Pooler的问题; session怎么用才能让中间层一个对象使用一个,互不影响呢? 那个 sleep 是让线程等待一个时间如果线程是阻塞的(或是没有线程),它们间就会互相影响, 一个个执行如果没有阻塞 sleep 就是每个线程同时发生, 没有什么影响 对呀,情况就是sleep是阻塞的,请问为什么呢,我用的是aparment,multiInstance.sleep没有理由是阻塞的呀。迷惑! 太难回答了到 msn 来问我search name : [email protected] delphi输出地EXE图标问题 如何打如下标签 请高手赐教!求救! 在delphi中,怎样用一条词句操作access和sqlserver(不是本地的,是内网上其它一台电脑)两个数据库? 求fclabel控件 delphi中快速實現數據庫樹形結構并實現treeview導航數據 如何对SQL SERVER的数据库进行加密,别人备份出后不能恢复 求救:如何用鼠标曲线? 又一个白给分的问题! 怎样把SpeedButton的OnClick事件连接到一个procedure上? 怎么我这两个问题竟然没有人正确作答? 100分求助,数据导出问题。。。
DataBase.Session := SessionName;//也不可以少;
上边的确都说了,还有就是,这种方法没有在本质上解决一些问题,有时间就看一看它的Pooling,这样才能让Aparment + MultiInstance 发挥的更好;
代码我记得已经贴过了,而且,对Pooler的说明我也贴过了,希望对你有用;
在多层中,线程、实例可以说是提高效率的最大障碍
如果没有阻塞 sleep 就是每个线程同时发生, 没有什么影响