老师给省里边一个部门做项目。用.NET和SQL Server 2005开发。功能上都实现了,测试一段时间发现好像是数据库性能有问题。
是这样,数据库服务器和Web服务器都设在省里边。由于这个部门在各地市、乡镇、居委会甚至村什么的都有站点,所以全省范围内的单位都要登录这个系统。
大家都是感觉非常慢,主要体现就是反应时间长。这倒是还可以接受。最要命的就是系统总会出现白屏,点个按钮浏览器就白屏,还是比较频的。由于不是程序上的错误,很难通过调试找到问题所在。
我们排除了一些原因后把矛头指向了数据库,但是还没有什么有力的证据来证明就是数据库服务器的问题
一个偶然的机会,我把数据的备份还原到自己的台式机上,然后在自己电脑和服务器上同时执行一个存储过程(那两天系统升级,省里已经把服务关掉了,也就是说这台数据服务器就跑这个存储过程,其他什么事儿都没干),我发现我的电脑跑了一天就跑完了,但是远程连接服务器一看,才跑了一半!!!
所以我们更加疑惑了,这到底是怎么回事儿呢?
大神们能不能帮我分析分析或者告诉我一个方法,怎样能够测试出数据库的性能,找到症结所在。谢谢了!
如果需要什么设置的截图我可以提供。

解决方案 »

  1.   

    你的数据库是32位的还是64位的?存储过程跑的时候有没有看执行计划?有没有Blocking?有没有资源瓶颈?
      

  2.   

    需要在系统慢的时候,到服务器上看数据库在跑什么。
    另外需要看下sql配置。
    如果方面远程,可加我qq帮你check.34813284
      

  3.   

    用SQL Profiler跟踪当时系统执行的SQL,分析执行计划..
      

  4.   

    你是否知道系统运行是什么东西慢?如果知道了,把对数据库操作的sql语句帖出来,而且哪个表访问量最大的,它的记录数是多少,也说出来这才是分析问题的出发点.访问是否有可能是网络的原因?
    在你电脑运行快,是因为你的电脑没有其他用户访问
      

  5.   

    感觉是服务器本身或者MSSQL的设置问题
    我的请款公式:
    自己电脑跑MSSQL  <  租用的MSSQL(网络访问)
      

  6.   

    什么存储过程要跑一天,设计上可能存在问题。
    另外得看服务器CPU占用率是不是过高了,内存多也不见得能全部用上,硬盘速度如何,原因太复杂了。
      

  7.   

    1、你查看等待信息,统计出所有等待信息,然后排查。
    2、使用SQL Profiler结合服务器的性能监视器,监视服务器。
    3、监视网络。通过分析监视数据,找到系统的根本问题,内存多服务器就一定快吗?服务器的瓶颈在于最低配置的那个组件。