473,887 Members | 2,378 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

IIS6/worker processes/performance counters


We're looking at moving an ASP app from IIS 5 to IIS 6. In general things
seem to be working okay, but there are some oddities around the edges. One
of those unanticipated changes has to do with the new process model and the
option to have more than one worker process per web instance.

We found that each worker process has its own Application() state and
anything your app puts there/uses gets a new copy for every worker process.
So depending on how much initialization your app does in Appication() that
expense could get paid over and over as IIS 6 cycles worker processes based
on idleness, load, memory use, etc.

The facet I still have a question about is performance counters. When you
have multiple worker processes for a web instance, are the usual performance
counters like Active Server Pages/Requests Total, Requests Queued, etc
aggregated across worker processes? How are they impacted by worker process
cycling? How about custom performance counters? I assume we'd probably have
to take extra effort to aggregate custom pcounters across worker processes -
is that right?

Are there any faqs on the new IIS 6 process model and/or implementing custom
pcounters for them?


Jul 22 '05 #1
2 4905
Hi Mark,

AS I know, the usual performance counters, like Active Server
Pages/Requests Total, are counted across all worker processes, and will be
cleared/changed while worker process cycling. As for how to develop a
customized performance counter on IIS 6, I suggest you may post the
question on IIS development related group and you may be lucky enough to
find a person there who can answer your question.


Jul 22 '05 #2
Hi Luke...

Thanks for answering. This may be a nitpick, but ASP/Request Total I assume
would not be cleared by cycling worker processes, would it? I mean, if you
have a max of 4 or 5 processes, some are likely to be spun up or shut down
at various points but I'm assuming the following would hold:
1) you'd never go below 1 worker process

2) the total count would be in some shared memory location that would
persist and move upward, even if worker process #2 shuts down.

I guess Request Total isn't necessarily the most tricky example of how perf
counters change in the new process model. But then, maybe I'm just being
myopic. In the old IIS model, Low or Medium isolation made the concept of
ASP perf counters pretty straightforward , but High isolation would have
similar issues to the IIS 6 process model. Figuring out what each perf
counter means in a High isolation context is probably similar to IIS 6 and
the worker processes.

"[MSFT]" wrote:
Hi Mark,

AS I know, the usual performance counters, like Active Server
Pages/Requests Total, are counted across all worker processes, and will be
cleared/changed while worker process cycling. As for how to develop a
customized performance counter on IIS 6, I suggest you may post the
question on IIS development related group and you may be lucky enough to
find a person there who can answer your question.


Jul 22 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

by: grw | last post by:
Im trying to find why my hosted server won't maintain session state. Its not a web farm (not load balanced), its all the same server An application requires a session to be set and then recalled (like you do :) However, since the server software was upgraded from IIS 5 to 6, the working code no longer works. (ie - login with session variables but get logged out immediately the page changes)
by: Adam Short | last post by:
I'm having all sorts of problems with Sessions, I've been using them for years with out a hitch, all of a sudden the last 6 - 12 months since getting our new Win2003 server it's all gone shakey!!! Our development server started life as an NT4 machine and has been simply upgraded from one operating system to the next, it is now a cross, NT4 Server, Win2000 Server, Win2003 server. All development sites work fine and under heavy stress. ...
by: Dirk Reske | last post by:
Hello, why doesn't this code work correctly? private int GetCpuUsage(Process proc) { DateTime time1,time2; TimeSpan timediff; double cpu1,cpu2,cpudiff;
by: Abhishek Srivastava | last post by:
Hello All, In IIS 6.0 We have a concept of worker processes and application pools. As I understand it, we can have multiple worker process per appliction pool. Each worker process is dedicated to a pool. If I assign only one application to a applicaton pool and have multiple worker processes assigned to that pool. Will my application be processed by many worker processes?
by: scott | last post by:
Hi, I have a aspx (.net) application running on IIS6 pulling data from SQL2000 using XML. The session keeps timing out after a minute and im forced to login again. I have set the following on IIS: connection time out 600 seconds
by: Dominic | last post by:
I'd like to tune the performance of my application in a web garden. Our server has dual processors. Is there any guideline to set this "maximum number of worker processes" for web garden? In my application, stress test shows that setting it to 2 gives a better performance result. In other words, web garden helps. My first question is if it helps to set a number larger than the number of processors in the server. Are they related at all? ...
by: domtam | last post by:
Hi everybody, As far as I understand, each worker process in a web garden (say, in IIS 6.0) has its own copy of Cache objects, static objects and Application(state) objects. In other words, they cannot be shared across worker proesses. Suppose my ASP.NET applications runs in a web garden with multiple worker process (set in IIS 6.0 manager / Application Pool / Performance tab / Web Garden). Is there any easy way that I can share some
by: JamesS | last post by:
Hi all... I am currently running some performance tests on some ASP.NET Web Services. The test is being run on a dual proc machine and we are capturing a number of performance counters in PerfMon. One observation I have made is this - the Process\Thread Count perf counter is very different across both worker processes. e.g. because it is a dual proc machine I have two worker processes. The thread count on CPU#0 is quite
by: nicerun | last post by:
I'm using the Application_Start event at Global.asax.cs to invoke thread that do some job. I know that Application_Start event occurs when the very first request to Web Application received. - Setting worker process count 1. Start | Programs | Administrative Tools | Internet Information Services 2. Right-click on the application pool, e.g. ‘DefaultAppPool’, and select ‘Properties’
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.