If you’re working on a Microsoft Windows NT or 2000 platform, chances are you’ll be using Microsoft Internet Information Services (IIS) to build and administer your Web site, search engine, databases, and related applications. This guide will help you monitor and optimise your working environment.
What is Microsoft IIS Web Server?
Formerly known as Internet Information Server, Microsoft’s Internet Information Services (IIS) Web Server includes a Hypertext Transfer Protocol (HTTP) server and a File Transfer Protocol (FTP) server which extend the capabilities of the Windows NT and 2000 Server operating platforms.
There’s tight integration with existing Microsoft products, so IIS users can create Web sites with Microsoft Front Page, and developers can exploit Active Server Page (ASP) technologies to embed applications in Web pages with ActiveX controls. Microsoft’s Internet Server Application Program Interface (ISAPI) allows Web developers to create programs that filter user requests and return the appropriate Web pages, in response.
IIS Web Server includes an administration console from which it’s possible to get an overview of all users and services. The console can be configured to suit individual circumstances, and components may be added as snap-in modules.
Performance Measuring
To keep track of performance issues, and to effectively deal with any problems as they occur, you’ll need to monitor key performance metrics like memory capacity, CPU usage, and the performance of disk drives. If you have different applications assigned to different sets of Web users, you’ll need to monitor the Web server, so as to avoid application downtime.
What to Look Out For
The URI cache hits percent counter will reveal the relationship between the number of successful URI cache hits and the total number of cache requests, a ratio that indicates of the performance of your IIS server over a period of time.
Studying the Web service counter will help determine your IIS server’s ability to cope with all incoming traffic. The counter displays the number of users attempting to access the Web server and its applications, and the current number of connections. It also indicates how much information has been sent or received.
The Web service cache counter (which incorporates URI cache counters) monitors metrics that you can use to optimise Web applications, websites, and servers.
The URI cache hits counter aggregates the number of successful queries to the URI cache since the server went live. This figure should always increase; if it stalls or stays low, there may be an underlying issue preventing requests from finding the appropriate cached response. At the other end of the scale is the URI cache misses counter, which records the number of unsuccessful queries to the URI cache.
The URI cache flushes counter determines the number of times that the URI cache has been flushed since the server went online. If a response exceeds the time set in its threshold values, or if a file has been modified or edited, the counter will automatically flush those files.
A set of Windows service monitors use RPC communication or WMI to verify whether or not a specified service is running. The monitors also record the memory (physical and virtual) and CPU capacity being used by a service.
Proactive monitoring is key, here. You should set performance thresholds and configure monitor alerts for when values approach and exceed the thresholds you’ve set.
Optimising Your Applications
You should continuously test any applications running on your Web server, and their effect on the performance of your Web pages. Progressive and continuous optimisation of applications and Web pages should be your goal. Don’t forget the basics like CPU usage, memory, I/O read and write, etc.
Associated sets of applications, websites and processes may best be monitored by assigning them to application pools. Each pool’s usage of memory will tend to be the critical factor; if an app pool is observed to be using too much memory, it should be recycled to optimise performance.
To gain a better insight into the load on your server, you should monitor the number of client connections to the worldwide web (WWW) service. As this number grows, it may help to balance the workloads across multiple Web servers.
Bandwidth allocation may be optimised by studying the volumes of data passing to and from the WWW service.
Hardware Matters, Too
Server hardware should also be monitored, to avoid downtime and application failures due to hardware issues.
Your Monitoring Tool-kit
You should ideally use a server management software suite that can exploit its own feature set and Microsoft’s native tools to monitor the health of your IIS servers.
The software should reveal trends in performance that can help optimise the performance of your Web server and Web applications. This should include fine-tuning of all Web transactions, availability of websites, and monitoring of your underlying hardware.
Information should be made available in the form of easily comprehensible graphs and interactive statistics. Critical performance metrics, event logs, and alerts should be visible in the management software’s GUI as recognisable dials, gauges, etc.
Adapt to Suit
A Web server is simply a platform for hosting files and applications – each of which has its own unique characteristics and demands. So, any best practices must be applied on a case-by-case basis.
Ultimately, it’s down to you, the administrator, to decide which measures are most appropriate for your particular environment and use case.