none
如何排查sqlserv.exe占用cpu过高? RRS feed

  • 问题

  • 有一个网站应用,网页文件和数据库分别存放在两台服务器上,服务器硬件是至强3.2G 2G内存,系统都是windows server 2003企业版,数据库服务器上sqlserv.exe进程占用CPU平均达到40%-50%,内存占用达到1.7G,客户端在查询时要几十秒才反馈结果,请问我这种问题应该如何排查?

    2009年3月3日 9:24

答案

  •  客户端在查询时要几十秒才反馈结果


    你指的是用户sqlserver要几十秒后才返回结果? 还是只网页一次的请求几十秒?
    你需要进行排查到底是哪个服务器响应慢。

    如果是sqlserver,可是使用sql server profiler对数据库进行检查,找出执行时间较长的语句。

    http://articles.techrepublic.com.com/5100-10878_11-5054787.html
    http://msdn.microsoft.com/en-us/library/ms187929.aspx
    stswordman
    • 已标记为答案 傅钰 2009年3月5日 14:46
    2009年3月3日 9:53
    版主
  • 傅钰 说:

    谢谢你的回答,我想再请教一下,这种情况和硬件性能关系大不大?



     
    可能
    例如内存太小导致不停的分页,致使硬盘繁忙。
    或者硬盘转速太小,没有缓存等等,都可能会影响性能


    但你描述并不能判断出是硬件的问题,你可以使用performance monitor查看一下

    stswordman
    • 已标记为答案 傅钰 2009年3月5日 14:46
    2009年3月4日 7:45
    版主

全部回复