IIS Home @ it-notebook.org

Metabase setting reverts back; Information about "Current Anonymous Users"

(Kristofer Gafvert, September 5, 2007)

Introduction

Each week I take two questions from the IIS newsgroups (or IIS forums) that I think is of public interest, and I answer them here as well. Questions and answers may be modified to be more general and more useful for everyone.

Metabase setting reverts back

From IIS Manager, I right click the server and click Properties and go to change the MIME type for .msg. I change it from application/x-message to plain/text. Then I restart IIS for the changes to take place and once IIS has restarted, the MIME type is back to application/x-message and the new setting is lost. Why?

When you change a global MIME type in IIS, you are required to restart IIS for the changes to take effect. If the MIME type is not global (for example you set it on a website), you are not required to restart IIS. So in your situation, you are doing the right thing to restart IIS, and I think that this is also the problem. The most common reason why metabase changes are not being kept but are reverting back to the old settings is a not so graceful restart of IIS. That is, IIS kills the metabase before the changes are committed to disk, hence the new settings are lost when IIS starts up again (they were only kept in memory).

A normal restart should not make this happen, but if the shutdown of IIS hangs and inetinfo.exe is killed this will happen. Utilizing IIRESET will also make this happen (use NET STOP /y IISADMIN instead if you use command tools).

The performance counter "Current Anonymous Users" is changed from Windows 2000 to Windows Server 2003

Are there any differences between Windows 2000 and Windows Server 2003 "Current Anonymous Users" performance counter? I have a website which is hosted from two servers with DNS round robin; one of the servers is Windows 2000 with IIS 5.0 and the other is Windows Server 2003 with IIS 6.0. When we look at the performance monitor, the Windows 2000 machine serves more users at any given time.

Yes, there is a difference between them. I will quote the IIS 6.0 Technical Reference to answer this question since it gives the answer right away.

In IIS 5.0. Current Anonymous Users is the number of current anonymous HTTP connections. This number decreases when the connection is closed (for various reasons, such as when the connection explicitly closes or times out).

In IIS 6.0. Current Anonymous Users is the number of current anonymous requests being processed. This number decreases when the request is completed. (HTTP.sys and IIS user mode both provide numbers for this counter.)

In short, IIS 6.0 counts each request as a user, whereas IIS 5.0 counts each connection as a user.

So the behavior you see is correct. The request is processed and completed much earlier than the connection is closed, hence you will see more "anonymous users" on IIS 5.0.

Applies to [?]

IIS 6.0