15 Ways to Optimize Microsoft Exchange
In today’s high-speed, fast-paced environment—whether it be business or technology—it is essential to pay close attention to detail. It’s those finer details that can make the difference and can sometimes be what make you stand out. When it comes to your company’s e-mail system, it’s imperative to ensure it works the best it can. Most senior engineers also pay close attention to finer details—the ones that make any Microsoft Windows Exchange 2003 deployment a cut above the rest.
Broken down here, you’ll find 15 important tips to cover when assessing your current Exchange environment. The article covers optimization techniques that were used in a real-world deployment, such as offloading to a front-end server, using a dedicated server or appliance to filter out spam, viruses, server sizing, memory and disk configuration, and much more.
1. Use Bridgehead Servers
Applying optimization techniques will most likely equal better performance. Systems administrators and engineers should always seek better performance. They know that demand will increase, load will increase and hardware is fixed. By optimizing, you get to fine-tune your environment to provide a better return on investment.
To optimize your Exchange environment, consider what sort of tasks can be offloaded to a front-end server. A Bridgehead server is a Microsoft Exchange Server computer that acts as the endpoint of a connection between two sites and is responsible for routing messages through that connection. Typical uses for front-end servers are to offload Outlook Web Access (OWA), Internet message access protocol v4 (IMAP4), post office protocol v3 (POP3) and simple mail transfer protocol (SMTP) relaying from your internal mailbox servers.
Offloading OWA has the added benefit of enabling the use of forms-based authentication, which improves security by allowing session time-outs. Also consider moving any public folders or resource mailboxes that have event syncs associated with them to a dedicated back-end server. This way, your users will not be impacted by problems that may arise out of the event service using excessive resources.
2. Use Dedicated Security Devices
Dodging the responsibility of spam and virus protection is not a good way to run your e-mail system, especially since most malware and viruses target Microsoft products. When you do deploy them, it is imperative to consider the impact that these added services and resources will have on your systems. Every time you add a software package on a system, you inevitably take a bite out of what that system can handle normally—you are asking it to do more.
It’s very important to consider sticking with what Microsoft is–a distributed software model–and deploy a “distributed” design when considering security and protection. To shortchange the budget in this area is a mistake. You will impact the performance of the whole deployment because you try to run too much on one system that is already taxed by its own services. An Exchange Server has to run Active Directory. Therefore, between the base NOS install and Exchange, you really shouldn’t consider running too much more on that system. Think about when you have to turn on logging—then what? You are asking for problems if you are running a firewall, virus protection, anti-spam software and everything else on the same system you are running your e-mail on.
Consider using a dedicated server or appliance to filter out spam and viruses before they enter the Exchange environment. This alone can reduce the number of messages being processed by the system by as much as 80 percent. If you can’t remove the load, find devices to help share it, and you will regain performance power.
3. Size Servers With the Right Hardware
Despite servers and operating systems that support 32 GB or more RAM, Exchange 2003 is still a 32-bit application that is limited to utilizing 4 GB of RAM, so building servers with more than 4 GB of RAM on an Exchange server is a waste of money. With this limitation, the sweet spot for processors is four. Any more than four CPUs, and you’re likely to hit a RAM bottleneck long before the CPUs become a problem. Therefore, buying eight- or 16-processor servers will not gain much performance over a four-CPU system. Thus, a four-processor server with 4 GB of RAM is the practical limit for a high-performing Exchange server.
Always consider doing research on your hardware, especially when it comes to Exchange. You need to consider how to get every ounce of power you can out of your system. In addition, always use the proper hardware, ensuring that you purchase approved hardware for your vendor (e.g., make sure that if you run your system on Dell, you check Dell’s site or your vendor for exact matching) and checking the Microsoft Hardware Compatibility List. (For more information see www.microsoft.com/hcl.)
4. Use Hyper-Threading
Hyper-threading technology allows multi-threaded software applications to execute threads in parallel. When a system has the ability to switch between multiple threads of execution to give the user the appearance that it’s all happening at the same time, this is called multithreading. Hyper-threading technology allows for a new level of performance for evolving enterprise software applications that require more and put higher demands on processors. This need will only continue to grow. Be sure to turn hyper-threading on. This will give you an instant CPU gain of 15 percent to 25 percent with no additional cost. This is true whether you have a single- or quad-processor server.
5. Run Windows Server 2003
Exchange 2003 and Windows Server 2003 were designed together, and memory tuning, processor optimization and several other performance aspects of Windows Server 2003 are all utilized by Exchange 2003. You can do the deployment in other ways, but the best gains can be yours if you plan to keep Windows Server 2003 and Exchange Server 2003 together.
6. Verify and Set Your Memory Configuration
Exchange 2003 does much of the memory tuning that was manual under Exchange 2000. One of the few remaining memory configurations that you need to tune manually with Exchange 2003 is the boot.ini if your system has more than 1 GB of RAM. On a Windows 2003 server, you need to modify the c:boot.ini file with the addition of the /3GB and /USERVA=3030 settings.
Sample boot.ini for Windows 2003 servers:
Boot Loader] Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)WINNT [Operating Systems] multi(0)disk(0)rdisk(0)partition(2)WINNT=”Microsoft Windows Server 2003″ /fastdetect /3GB /USERVA=3030
For Windows 2000 Advanced Server, the /3GB switch is used, but the /USERVA=3030 switch is invalid. For Windows 2000 Standard Server, no switches can be used at all, Exchange will be limited to 2 GB of usable RAM, and the remaining RAM will be allocated to the OS or other processes running on the system.
7. Network Configuration and Performance
Network configuration on LAN segments will rarely be an issue for modern hardware with the efficiency of current LAN adapters. With users connecting across a WAN, however, bandwidth and latency are both important factors to consider in overall Exchange performance.
With Exchange 2003 and Outlook 2003, Microsoft has introduced Cached Mode Exchange, which greatly reduces the impact of latency and bandwidth issues across a WAN. In real-world deployments, Cached Mode Exchange against an Exchange 2003 server can average as little as 1 Kbps per user at peak usage.
In this case, a T-1 that is dedicated to Exchange traffic could handle as many as 1,500 users—a vast improvement. Other improvements include compressed data streams and an optimized RPC protocol that requires significantly fewer round-trips per opera