惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
博客园 - 聂微东
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
S
SegmentFault 最新的问题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
博客园 - 司徒正美
爱范儿
爱范儿
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
博客园 - 【当耐特】
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
人人都是产品经理
人人都是产品经理
V
V2EX

博客园 - ∈鱼杆

TraceView .NET WAP网站开发系列 ASP.NET RSS开发札记(完结) MonoRail MVC实践应用(完结) HowTo:String.Format新方法 HowTo:C#性能测试扩展函数 Python性能测试工具 Excel分类汇总宏(VBA) Python性能测试工具 HowTo:C#性能测试扩展函数 MonoRailMVC应用-母板页的Title 面向方面的编程在Cache、Log、Trace方面的运用 MonoRail MVC应用(2)-构建多层结构的应用程序 MonoRail MVC应用(1)-VM/HTML页面 MonoRail MVC实践应用 innerHTML和P标签 [转] 有关敏捷的若干思考 .NET WAP开发及兼容问题 ASP.NET分页控件(AspNetPager分页控件)
W3WP进程CPU查看
∈鱼杆 · 2008-12-04 · via 博客园 - ∈鱼杆

最近在查站点CPU过高的问题。首先存在的一个问题就是:如何定位哪一个网站占用CPU过高。查了资料,整理如下:

基本知识(IIS6)
一个W3WP进程不是对应一个站点,而是对应一个IIS应用程序池。所以如果我们要观察具体那一个站点占用了多少CUP,多少内存,就必须为每一个站点独立分配一个应用程序池。(对于应用程序池的应用还有很多好处,以后再具体介绍)

IIS6配置应用程序池

iis-apppool-web
从图中可以看到,有5个website,3个apppool。当所有网站都在运行,看到的就是3个w3wp进程,而不是5个w3wp。

在一般的部署中,都存在一个IIS运行多个web站点的情况,特别是对于小app应用更是如此。所以如果有些应用频繁的,还是单独一个应用程序池。这样也方便查找问题。

多个W3WP进程
iis-w3wp-web

2个w3wp, 怎么知道那个是我们要找的呢?

W3WP与应用程序池

cmd运行如下命令:(注意 C:\WINDOWS\system32 这是目录,这个是IIS6的命令)

C:\WINDOWS\system32>cscript iisapp.vbs

iisapp -a

iis-apppool-common

PID与CPU

可以看到PID 以及对应的 app-pool的相关信息。这样我只要找到PID的进程就可以查看信息了
在任务管理器中就可以看到相关performance信息了

iis-w3wp-web1

整个过程的推导公式如下: (*^__^*)
IIS6 => app-pool => PID => CPU%

基本上解决方法已经有了,等fuhua具体的观察结果,有空再做进一步的分析。