同时有上百个请求,甚至更多。  webservic的响应函数采用多线程。如:
new Thread(select/update/deleteDataBase函数).Start(); 
这样如果前台同时上百的请求,服务器会并发同样的多的线程执行响应???  如果是同时开太多线程会使服务器
资源耗尽? 
求教 于大牛们,怎么设计webservic 才能更快响应 应对 客户端 上百千的并发请求?
之前设计,以为webservic操作数据库就用了一个全局的数据库连接IDbConnection,响应函数使用线程同步LOCK,
排队用同一个IDbConnection。这样很容易使响应超时。  后改下了,初始化多个IDbConnection数组,如果发现
有个线程同时请求的话,就分配IDbConnection数组给线程。 效果也不好。。

解决方案 »

  1.   

    给你个建议: 
    (1)别用全局的数据库连接,考虑下连接池或干脆不用(对于mysql)。
    (2)了解下程序池 
      

  2.   

    这不是你要考虑的问题!对于服务而言,可控的部分仅仅是服务请求,忠实的传递数据,接收并返回结果便可以了。真正的处理机制在于数据库配置是否允许并发,亦或如何响应并发冲突。通常,数据库正在处理某条数据时,则后续请求将被阻塞,直到当前事务结束换句话说,无论web服务如何请求,数据服务都有自己的处理机制,我个人认为,你只需要考虑web服务是否超时就可以了。
      

  3.   


    数据库该如何配置??求解,如果不用去优化Web服务更快更快响应请求?? 那大家所说的 web服务压力测试,测试什么?只是代码可
    执行性?     而并发处理机制只需设置下数据库等配置???
      

  4.   

    还有一个问题是:客户端调用Web服务中的操作时(会很频繁),是每次多new一个web服务,还是new一个静态的web服务共用并设置同步.. 对于频繁调用web中的操作 应该使用哪种?
      

  5.   

    WebService本身就是多线程的 ??