应用服务器执行客户端请求,为什么总是串行的?(100分)

  • 主题发起人 dingfuhai
  • 开始时间
D

dingfuhai

Unregistered / Unconfirmed
GUEST, unregistred user!
应用服务器是采用的Aparment,MultiInstance。而且在软、远程数据模块中使用的多Session,
按理说,应用服务器会为每个客户端建立一个实例,而且每个实例都有单独的一个Session连接
数据库。这样客户的操作应该是并行的,而我做了很多试验,结果显示应用服务器处理客户端
请求是一个接一个的,当一个复杂任务执行很长时间时,其他客户端只有等其完成。请问是什
么原因呢?
 
情况就是sleep是阻塞的,请问为什么呢,我用的是aparment,multiInstance.sleep没有理
由是阻塞的呀。迷惑!
 
您可能将database.handleshared:=True了。如果这样的话。
它将共享一个session连接(256)。
database.handleshared:=false,又受到bde连接数目的限制(48个)。
database.handleshared:=True就是可能导致您现在的排队情况。
 
database.handleshared是设的true,没错阿!
 
你看看asta的源码,它支持三种模式:单进程,进程池和每一用户一进程.
 
database.handleshared:=false
 
如果是使用的远程数据模块的化,那么每一个远程数据模块相当于一个Aparment。如果要
达到预期效果,应该把各个独立功能封装在单独的远程数据模块中。
 
database.handleshared:=false,仍然不行
 
顶部