Sep 04 2006
Microsoft’s Slight of Hand
My recent work with Microsoft based solutions has been both painful and unpleasant; trying to get e-commerce software that wasn’t stable working with Windows 2000 and Internet Information Server 5.0 to work with Windows Server 2003 and IIS 6, was a process fraught with worry.
Fortunately, however, the transition went off without a hitch. The performance of the system did improve with the addition of new hardware. While throwing iron at a problem is generally not the best nor recommended answer, it is a more coherent answer than Microsoft often provides.
Debugging Microsoft errors has led me to a number of items which indicate that their software contains a soup of patches for symptoms of problems rather than actually dealing with the problems themselves. It’s rather like taking a cough syrup while one has the flu; the germs remain, but the cough becomes more manageable. The server is ill, but its sputtering is subdued.
While I was dealing with IIS 5, I was concerned that system resources were being used efficiently; I was particularly troubled by IIS 5’s memory allocation to dll files, which could be a cause of crashes. Rather than have a patch solving this particular problem, Microsoft created a tool to deal with the symptons, the IIS 5.0 Process Recycling Tool. The tool, according to Microsoft:
“…runs as a service on a computer running Windows 2000 and Internet Information Server 5.0. The purpose of IIS5Recycle is to recycle processes, minimizing the effects of resource-consumption problems before performance and reliability are affected. This tool automatically recycles IIS processes based on configurations stored in the Windows registry. “
Let’s examine this statement in more detail; IIS 5.0 apparently is lacking in an important aspect: it cannot prevent resource consumption problems. This tool is provided to mask this issue, standing in place of an actual fix.
One might expect an upgrade would solve this particular problem. However, in this instance, the developers have continued with this masking in IIS 6, albeit in a more effective guise. This is evident in Microsoft’s explanation on how “Worker Process Recycling” functions:
“In an overlapped recycle scenario, the process that is targeted for a recycle continues to process requests while the WWW service simultaneously creates a replacement worker process. The new worker process is started before the old worker process stops, and requests are then directed to the new process. This design prevents service interruptions, because the old process remains in communication with HTTP.sys to handle requests until it shuts down. Because the shutdown timeout value of an overlapped shutdown or startup is configurable, the worker process can be terminated while it is still serving requests, if it does not finish draining requests within the time limit.”
Did you get that? This “feature” is to hide the fact that a crash has occured. Rather than again, deal with the problem of resource allocation at source, Microsoft has opted to hide the symptoms of the crash.
Using Microsoft makes me feel like I’m a stage illusionist; I am expected to provide the image of stability, using slight of hand and more powerful hardware. Yes, there remains a debugging process whereby we can attempt to find if any of our code is creating the resource problems. However, it may very well be that the problems lie within the framework itself, outside of our reach and impervious to a genuine resolution.
All this reminds me of a former boss who used to rant on about getting “quick wins”. The philosophy of emphasising “quick wins” led to results which dealt with symptoms rather than providing an actual cure; the eventual result of so much patching was an unstable solution that needed to be rebuilt from top to bottom. “Quick wins” have a very bad habit of coming back to haunt the person who requested them; I’ve always had a preference for genuine solutions. With Microsoft, I’m just not getting them.
This past week, Windows Vista was made available for pre-order on Amazon.com. While Microsoft has been saying that they’re producing a “high quality” product, the lessons provided by Internet Information Server should make one pause: how much of what Vista contains is more of this masking rather than actually dealing with problems in the software? How often is the phrase “quick wins” being thrown at the Vista development team? Without visibility on this, it is impossible to feel comfortable with the arrival of this new Windows, which is good, because this can only help Linux.
Leave a Reply
You must be logged in to post a comment.