你们的用户量有多少W啊?
还能拉跨服务器?根据你的情况
只要把每次都Select这个大bug解决掉
基本上就能解决了

解决方案 »

  1.   

    使用单线程,批量执行sql比如:static string sql = "";
    static object obj_lock = new object();
    static void Save(){
    lock(obj_lock){
    sql+="sql语句";
    if(sql.length>1000) //执行并清空sql
    }
    }
      

  2.   


    修改这个过程
    在ashx开始运行时,先把数据库里的记录加载到内存,并建立key用于快速查找
    当客户端提交数据时
    先从内存里查找
    如果内存里有,则修改内存和数据库的记录
    如果内存里没有,则Insert到内存和数据库
    这样,原来需要执行两条SQL,现在只需要执行一条
      

  3.   

    感谢楼上的人发话,但我均试过,均不能解决,我有点怀疑要四核双CPU加32G内存才能解决。继续等。
      

  4.   

    个人觉得select查询应该优化,查询语句用赋值方式,使数据库查询速度加快。
    还要尽量减少数据库交互次数。
    最后,设置访问上线数,访问结束后及时断开数据连接,处理数据用异步方式。
      

  5.   


    做过服务端开发的都知道
    有时候
    最没压力的就是数据库服务器
    因为在服务器启动时就把所有数据缓存到内存了
    极少会直接操作数据库
    就算要insert,update,delete数据库,也会先写到队列
    然后肯定会有一条线程慢慢操作
    根本没有并发的可能性几百万条记录 
    加到内存
    可能也就100M不到