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

推荐订阅源

A
About on SuperTechFans
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
宝玉的分享
宝玉的分享
美团技术团队
量子位
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
爱范儿
爱范儿
J
Java Code Geeks
博客园 - Franky
Last Week in AI
Last Week in AI
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
GbyAI
GbyAI
Recent Announcements
Recent Announcements
小众软件
小众软件
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog

博客园 - ∈鱼杆

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具体的观察结果,有空再做进一步的分析。