Tuesday, October 5, 2010

Couple Notes on Configuring IIS 6.0

Find the file MetaBase.xml on your web server. In my case it is located at: C:\WINDOWS\system32\inetsrv\MetaBase.xml.


When DisallowOverlappingRotation is set to False the new worker process will be created while the existing one continues. Then once the new one is ready the old will be shut down. Setting it this way has the least impact on your end users.

When DisallowOverlappingRotation is set to True the old worker process is shut down before the new one is created. This will cause your site to be down longer while the worker process is being recycled. Setting it this way may be required if an application in the application pool doesn't tolerate multi-instancing.

Logging Application Pool Recycling Events in IIS 6.0

You can change which Application Pool Recycling Events get logged by modifying the LogEventOnRecycle attribute in the IIsApplicationPools node. The available flags are:
  • AppPoolRecycleTime

  • AppPoolRecycleRequests

  • AppPoolRecycleSchedule

  • AppPoolRecycleMemory

  • AppPoolRecycleIsapiUnhealthy

  • AppPoolRecycleOnDemand

  • AppPoolRecycleConfigChange

  • AppPoolRecyclePrivateMemory
Include a pipe delimited list of these flags in the key value pair to enable logging of these events. In this example I'm logging each available events: LogEventOnRecycle


Wednesday, January 13, 2010

Sitecore Log - WARN Counter category 'Sitecore.System' does not exist on this server. Using temporary internal counter for...

I'm working with a Sitecore 6.1 implementation on a Windows Server 2003 R2 box. I'm up against an error that necessitates I turn to the Sitecore logs. My Sitecore logs are riddled with warnings. This post will provide you with information on how to resolve these "WARN" log items. In order to access many of the links from this post you will need to have "Sitecore Development Network: Developer Section" security permissions to http://sdn.sitecore.net.

The Warning Messages:

The warning messages read "WARN Counter category 'Sitecore.[Caching|Data|Jobs|Presentation|Security|Sytem]' does not exist on this server. Using temporary internal counter for..." followed by one of many class names.

A few of the classes include:
  • Reflection.MethodsInvoked
  • Logging.AuditsLogged
  • Threading.ThreadDataModified
  • Pipelines.PipelinesAborted

The Fix:

  1. Access the FAQ titled "Sitecore log filling up with warnings."
  2. Download the SitecoreCounters.zip.
  3. Unzip SitecoreCounters.zip on your Sitecore server.
  4. Execute SitecoreCounters.exe. A console window will open and it will scroll through information about which counters it is creating. This took about a minute to run in my environment.
  5. You can hit any key in the console window to close it.
That's it. You should stop getting the "Counter category does not exist on this server" warnings.

My Journey

I am new to Sitecore development. I became a Certified Sitecore Web Site .NET Developer last month. I have appreciated the amount of documentation that Sitecore has around their offerings but find referencing it to be difficult.

In trying to resolve these warnings in my logs I found a Sitecore CMS 6 Installation Troubleshooting pdf. Section 3.10 is titled "Counter Category Does Not Exist On This Server." However it is significantly lacking details. In the section you'll only find:

You may see any of the following messages in the Sitecore log if Sitecore is unable to update performance counters in the Windows registry.
Counter category does not exist on this server
Using temporary internal counter

Use the tool on the Sitecore Developer Network provides a tool to register the performance counters.14
The footnote references Sitecore log filling up with warnings though. Make sure you scroll down past all the white space and read the footnote.

On Sitecore log filling up with warnings it reads that the FAQ is "Valid for Sitecore 5.3, 5.2" and makes no mention of 6.x. It is working for my Sitecore 6.1 implementation.