武汉列举网 > 商务服务 > 网站/软件服务 > 分析哪个网站造成的服务器访问缓慢
武汉
[切换城市]

分析哪个网站造成的服务器访问缓慢

更新时间:2014-07-02 11:01:39 浏览次数:87次
区域: 武汉 > 洪山 > 关山
类别:IDC服务
地址:武汉市洪山区雄楚大道258号
我们在“服务器访问缓慢的处理办法”这篇技术文章中分析了造成服务器很慢的几种原因,其中一个很常见的原因就是服务器的CPU100%。那么对于服务器上运行着几十个甚至几百个的网站而言,怎样查到具体是哪个网站造成的呢?
1、首先,我们打开任务管理器,按照进程名称排序,发现其中有很多w3wp.exe这样的进程名称,其实这每个w3wp.exe就对应着每个进程池。我们可以很快发现哪个进程池占用了大的CPU,也可以找到其对应的PID编号(PID编号在“查看->选择列”里面勾选上就可以显示出来了)。那么下一个关键问题就是如何建立w3wp.exe和IIS中进程池的对应关系呢?

2、我们在桌面上新建一个文本文档,内容如下:
'显示所有应用程序池当前PID及应用程序池名
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set ps = objWMIService.ExecQuery("select * from Win32_Process where Name='w3wp.exe'")
Str="AppPoolId AppPoolName" & vbcrlf
For Each ps in ps
  Str = Str & " " & p***cessId & Space(10-len(p***cessId)) & GetAppPoolId(p***mandline) & vbcrlf
Next
WScript.Echo Str
Function GetAppPoolId(strArg)
  On Error Resume Next
  Dim Submatches,strPoolId,re,Matches
  Set re = New RegExp
  re.Pattern = "-ap ""(.+)"""
  re.IgnoreCase = True
  Set Matches = re.Execute(strArg)
  Set SubMatches = Matches(0).Submatches
  strPoolId = Submatches(0)
  GetAppPoolId = strPoolId
End Function
然后保存,并重命名为getapp.vbs。注意必须是vbs文件后缀,再双击执行,就可以弹出一个PID和进程池名称的对应表,如下图:

3、这样我们就可以断定具体哪个进程池造成服务器CPU巨大了。下面问题接着出来了,由于每个进程池中放的网站都不止一个,那么怎么知道是具体哪个网站造成的呢?在这里,朝暮数据要提醒您,我们在分配进程池中的网站时,一定要对每个进程池中的网站个数做出规定。比如规定一个进程池放15个网站,部分重点客户放到独立进程池中,也就是一个进程池中只放一个网站。这样一旦出现问题,也就多影响15个网站,也方便在这些网站中查出罪魁祸首。如果把全部网站都放到一个进程池中,那就了,查问题的时候非常不方便,一旦这个进程池出问题,影响的网站数量也非常多。
下面,我们还是尽快把这个有问题的进程池给停止了,然后在任务管理器中结束对应的进程,这时服务器的CPU就马上降下来了。
4、停止几分钟后,我们到C:\WINDOWS\system32\LogFiles\HTTPERR这个目录中,找到新生成的错误日志,打开分析。比如我们禁用的进程池名称是AAA,那么搜索Disabled AAA,就可以查到关闭进程池后,有哪些网页被访问过了,而这些访问的网页其中某个就是造成问题的元凶。
本文来自:http://www.51mian***----空间、国内空间、月付空间、网站托管、网站建设、400电话等多种服务,希望能与您合作共赢!
http://www.***
武汉网站/软件服务相关信息
4小时前
1天前
次新股的含义
洪山-关山
6月7日
6月6日
股票委托范围
洪山-关山
6月5日
6月3日
注册时间:2014年02月10日
UID:109232
---------- 认证信息 ----------
邮箱已认证 手机已认证
查看用户主页