Capacity planning for Exchange Server has always been a bit of a catch-22. Microsoft offers tools such as Microsoft Exchange Server 2003 Load Simulator (LoadSim) and Microsoft Exchange Server Jetstress Tool to help you determine how well your Exchange server will handle an anticipated workload. But they aren't true capacity-planning tools because you can run them only after you have the new server in place—or at least have a hardware configuration similar to what you plan to deploy.
These tools are great if you want to find out whether a new Exchange server can comfortably handle the anticipated workload before you actually set up users' mailboxes. However, they do nothing to help you figure out what hardware to buy. What happens if you spend thousands of dollars on a new Exchange server only to run these tools and find out that the server won't be able to get the job done? Even if it were possible to run a basic planning tool such as LoadSim before purchasing new hardware, the results require evaluation and therefore can be misinterpreted.
Last year, Microsoft released its first true capacity-planning tool for Exchange Server, Microsoft System Center Capacity Planner 2006. You can use this tool to plan for either a new Exchange server or for deploying an entire Exchange organization.
You can't buy Capacity Planner directly, or download it from Microsoft's Web site. Instead, the tool is available only through a Microsoft Developer Network (MSDN) or TechNet subscription. However, you can learn more about the tool and its capabilities on Microsoft's System Center Capacity Planner 2006 Web site at http://www.microsoft.com/systemcenter/sccp/default.mspx. Capacity Planner also models Microsoft Operations Manager (MOM) 2005 deployments, though MOM is not a requirement for using the tool for Exchange modeling. Let's take a look at Capacity Planner and how to configure it to model an Exchange deployment. (Note: In October 2006, Microsoft released System Center Capacity Planner Service Pack 1—SP1— which makes the tool Windows Vista compatible, fixes a few bugs, and adds support for low-speed WAN links. The real enhancements in SP1 are related to MOM, not to Exchange.)
There are three main steps involved in using Capacity Planner. The first step in the process is to create a model of your network (or of the network you're contemplating building) by using Capacity Planner's Model Wizard. As you answer questions about your network, the wizard creates a model of your proposed network, including a graphical representation. When the model is complete, you can run a simulation on your proposed Exchange environment.
The important thing to remember about the Model Wizard is that it's intended only as a starting point. The wizard saves you the tedious chore of creating a sample network manually by generating a model that at least somewhat resembles the network you're considering building. However, in almost every situation, you'll have to do additional work on the model after the wizard finishes.
The reason for the extra work is that the Model Wizard is grossly oversimplified. For example, at one point in the process, the wizard asks what type of disk configuration your servers use. Whatever configuration you select, the wizard will assume that every server in your Exchange organization uses the same configuration.
The second step in the capacity-planning process is to use the Model Editor to revise the model you created with the Model Wizard so that it accurately reflects your network (or proposed network). Revising the model includes doing things such as adjusting the CPU type for individual servers and setting the speed for various WAN links.
After you customize your model, it's time for the third step: running the simulation. This is where you find out whether the Exchange server or servers that you're planning to deploy will be able to handle the anticipated workload. The nice thing about the simulation is that it's dynamic: The simulation allows you to analyze various "what if" scenarios.
Although Capacity Planner is a great tool, it isn't perfect. You shouldn't base hardware-purchasing decisions solely on what the simulation tells you. Most of the time, this tool will be fairly accurate. But you also have to use common sense. Stop and think about whether the information that Capacity Planner is giving you seems reasonable.
One reason the simulation might not be completely accurate is that it assumes your Active Directory (AD)—which Exchange Server depends on—is configured optimally. If your domain controllers (DCs), Global Catalog (GC) servers, or DNS servers are acting as a bottleneck, the results will be skewed. The simulation is also not completely accurate because it doesn't take into account the overhead that antivirus or antispam software consumes.
Model Wizard Walk-Through
Before running the Model Wizard, you need to gather some information. You should have a good idea of what hardware you're thinking about purchasing. You need to know the processor and disk configurations of any existing Exchange servers as well as the topology of the Exchange organization. You also need to have some message statistics on hand, along with information about mailbox sizes and usage patterns. If you're planning for a new deployment, you'll have to make educated guesses as to these factors.
When you launch Capacity Planner, you'll see a warning message stating that the software is intended to assist the user in making decisions concerning computer hardware selection and deployment but that it shouldn't be used as the sole basis for decision making. Click OK to clear this message, and you'll see the tool's Welcome screen. Toward the middle of the screen is a drop-down list that lets you select the application you want to model. Select the Microsoft Exchange Server 2003 option from the list, then click the Create a Model with the Model Wizard link.
The next screen asks you to specify both the number of central sites and the number of branch sites in your Exchange organization. Capacity Planner considers central sites to be servers in the main office, whereas branch sites are servers separated from the main office by a WAN link. You also select the type and amount of bandwidth that's typically available between sites, as Figure 1 shows. Because you don't want Exchange consuming all the available bandwidth between sites, you select the maximum percentage of bandwidth that you'll allow Exchange to use. The default is 70 percent.
Click Next, and you see a screen similar to the one that Figure 2 shows. This screen asks you to specify the number of users in the central site and in the branch sites; Capacity Planner allows for only a hub-and-spoke type of network organization. You must also specify what type of mail client is being used in branch sites. The Model Wizard assumes that an equal number of users exist in each branch site; likewise, it assumes that every user in each branch site will use the same type of mail client. These options are examples of the wizard's oversimplification, but you can change them later in the Model Editor.
The wizard's next screen asks you to describe the typical level of mail-server usage across your Exchange organization: Is it typically low, medium, or high? From what I've gathered, these levels are fairly subjective: They give you a starting place, and you can adjust the actual number later when you fine-tune the model. You also enter the average size of each mailbox, the average number of messages that users receive daily, the average number of messages users send each day, and the average size of each message.
Click Next, and you see the screen that Figure 3 shows, which asks you to select a CPU configuration (e.g., one-, two-, or four-processor). You must select at least one CPU configuration, although you can choose up to three. Choosing multiple CPU configurations lets you simulate the differences that a low-, medium-, or high-end configuration would make in your Exchange organization's performance.
By default, the ModelWizard creates a separate server for each Exchange role. In the real world, however, it's sometimes possible to consolidate multiple roles onto a single server. If you want the wizard to consolidate roles when possible, select the Attempt to consolidate roles on to one server check box.
The bottom portion of this screen asks you to select the disk configuration. You can choose from a wide variety of configurations, but whichever type you choose, the Model Wizard will assume that every server in the model uses the same type. Of course, you can change the disk configuration later by using the Model Editor. You can also choose to model a SAN rather than a typical disk configuration; you can adjust SAN variables such as interconnect speed, interconnect count, and the volume configuration when you fine-tune the model. If you use a standard disk configuration, the wizard will automatically determine the minimum number of disks needed for each server.
Click Next, and you see a summary of some of the configuration options you selected with the wizard. The Model Summary screen displays information related to the topology in general and to the servers in the central site; it doesn't include any information related to servers in the branch sites.
Using the Model Editor to Fine-Tune
When you click Finish, you see the Model Editor screen, similar to the one that Figure 4 shows, displaying the global topology of the model that you created with the ModelWizard. You can use the links to the right of the diagram to perform actions such as adding new sites, editing usage profiles, and adding WAN links.
I recommend as a first step that you reconfigure the WAN links to match your proposed organization. To do so, double-click a WAN link in the diagram to edit that link. As you can see in Figure 5, you can set the uplink and downlink bandwidth for the link as well as its connection latency. To look at an individual site, double-click the image of the site in the diagram. When you do, you see a site-topology diagram similar to the one that Figure 6 shows. You can edit many different elements on this screen. Just as you double-clicked the WAN link in the previous diagram, double-click an element in this diagram to edit it.
The main items that you might want to customize in the individual sites are users and servers. By double-clicking a user, you can set the number of users in the site, what type of client they use to access their Exchange mailboxes, and how those users are connecting to the network. Editing user characteristics is a fairly simple process.
However, making changes to the servers within a site is a little trickier. When you double-click a server, you have the option to select a new hardware configuration for that server. The problem is that you're choosing a hardware configuration from a list. There's a good chance that your proposed server's configuration isn't on the list. Therefore, I recommend using Capacity Planner's Hardware Editor feature to define your hardware before modifying the site-topology diagram.
To use the Hardware Editor, click the Hardware Editor button at the lower left of the Model Editor screen. You'll see a screen similar to the one that Figure 7 shows: the Hardware Editor's Computer configurations screen, which contains a list of servers with specific processors and disk sizes. Click the New computer button to define a custom hardware configuration. The Hardware Editor lets you create a custom computer based on the processor and disks you select. The Device configurations option lets you create a custom CPU or disk. For CPUs, you can specify manufacturer, model, processor speed, physical processor count, L2 and L3 cache sizes, and bus speed. If you're defining a disk, you can specify storage size, interface type, seek time, rotational speed, and transfer rate. If you're defining a disk array, you can specify the disk type, disk count, and RAID level.
When you've defined all your hardware, you can select the new configuration for the server from the site-topology diagram by double-clicking a server and selecting the appropriate option from the Apply New Configuration menu on the bottom half of the screen, which Figure 8 shows. You can also rename the server by filling in the Server Name field; having actual server names in your model will make the diagrams easier to read.
Running the Simulation
Now that you've customized your model to match your proposed network, it's time to run a simulation by clicking the Run simulation button at the bottom of the Model Editor window's General Actions section. The time it takes the simulation to finish will vary depending on the complexity of your model. Figure 9 shows a summary of simulation results.
The Results Summary screen appears by default. Although the screen contains valuable information, you can get much more detail by using the options in the Simulation Results section-at the left. For example, you can obtain reports that show you how heavily individual servers or individual network links are being utilized. Other reports display the utilization of local network, SAN, and external connections. Problematic areas are flagged to call your attention to them. For example, if the volume of traffic exceeds what a connection can handle without exceeding the threshold you set, the connection is flagged as being a bottleneck. The Simulation Results screen also contains a page called Threshold Settings that lets you set threshold values for CPU utilization, disk utilization, the percentage of LAN and WAN bandwidth consumed, and overall latency. Unfortunately, Capacity Planner doesn't let you create a complete, formal report that you could export to another program, such as Microsoft Word. Another drawback with the tool is that it doesn't let you compare different configurations.
System Center Capacity Planner 2006 is an excellent tool for Exchange Server capacity planning. Keep in mind, though, that no tool is perfect. Capacity Planner can assist you in capacity planning, but it's up to you to interpret the results and to make intelligent decisions based on both the results and on what your own experience tells you.