Optimizing Windows NT Server and Microsoft Exchange: 28 Percent + More Speed Out of a Busy Exchange Server
Sometimes it is good to think outside of the box, or in other words, try something different to improve the performance of your NT Server-based solution. With this concept in mind and a practical perspective on improving NT performance, we tried utilizing AutoPilot auto-tuning software technology to enhance a Microsoft Exchange solution that we were developing for a customer.
The customer wanted a single server to support 1,000 concurrent Outlook mail users today and 2,000 concurrent outlook mail users in the future, all while keeping the average response time in the subsecond range. To meet these performance objectives, the following NT/Exchange Server configuration was selected: NCR 4300, two Pentium Pro 200MHz CPUs with 512K L2 Cache, 256MB of RAM, seven Fast/Wide SCSI 7200rpm disk drives, one Fast Ethernet (100BASE-TX) network interface card, and Windows NT 4.0 with Service Pack 3. This server is referred to as Configuration 1.
To simulate the customer's environment and to ensure that we sized our NT Server properly to support the projected workload, we developed a stress test using Microsoft's LoadSim mail server testing tool. LoadSim simulates users sending and receiving mail, and then measures their response times. LoadSim was configured for "heavy mail users," which is indicative of this user environment.
So, what were the results? The following outlines the results of the stress test run against Configuration 1:
Configuration 1: 500 users' 95th percentile response time in seconds: 0.470
Configuration 1: 1,000 users' 95th percentile response time in seconds: 0.613
Configuration 1: 2,000 users' 95th percentile response time in seconds: 1.200
Configuration 1 did not meet our goals. After analyzing NT's performance logs, we tuned the NT/Exchange server and reran the same LoadSim stress test (Configuration 2). The results were promising, as shown:
Configuration 2: 500 users' 95th percentile response time in seconds: 0.334
Configuration 2: 1,000 users' 95th percentile response time in seconds: 0.513
Configuration 2: 2,000 users' 95th percentile response time in seconds: 0.900
Our initial tuning effort was a success; it provided anywhere from 16 to 29 percent of overall performance improvement back to the end user.
But we wanted more! This is when we looked outside of the box and obtained a copy of AutoPilot by MCSB Technology from Sunbelt Software.
After installing AutoPilot, we reran the LoadSim stress test again on our already optimized server Configuration 2. The results just kept getting better and better, as shown:
Configuration 2 + AutoPilot: 500 users' 95th percentile response time in seconds: 0.258
Configuration 2 + AutoPilot: 1,000 users' 95th percentile response time in seconds: 0.323
Configuration 2 + AutoPilot: 2,000 users' 95th percentile response time in seconds: 0.700
No additional tuning was completed for this last stress test; only the AutoPilot software was installed and the server was rebooted. Note that the greatest gains derived using this software occurred at the highest workload levels. At the 2,000 user level, the overall response time improved by 28 percent.
Curt Aubley has worked in the open systems environment for 12 years and specializes in operating systems (Windows 2000/NT and Unix/Linux), internetwork architectures, security, and performance. He is the chief technology officer for the OAO Corporation and is an MCSE. Curt is the author of Tuning and Sizing Windows 2000 for Maximum Performance (Prentice Hall, 2001). You can reach him at CAubley@OAO.com.