Scaling Up vs Scaling Out Exchange Server 2007 Roles Part 2 – Client Access Servers
Written by Paul Cunningham on December 3, 2009
In my last post I wrote about scaling Transport servers to meet the growing needs of an organization. In this post I will look at the same topic for Client Access servers.
Client Access Servers
The role of the Client Access server for Exchange Server 2007 is to accept all non-MAPI client connections and communicate on their behalf with the appropriate mailbox server.
An example of this would be Outlook Web Access, where a user connects with their web browser to a webmail interface on the Client Access server instead of directly to their mailbox using the full Outlook client.
The Availability Service is another example of Client Access server functionality.
Most of the traffic that Client Access servers process uses SSL encrypted connections. Encrypted traffic requires more processing resources than non-encrypted traffic. This means that the most important resource for a Client Access server will be the processors, however memory and disk performance also play a role and can cause bottlenecks if not appropriately sized.
Processor Scaling
A Client Access server is recommended to start with at least 4 processor cores, but very smaller environments can perform well with just 1 or 2 cores, even with multiple server roles consolidated onto a single server.
A single server can scale up to 6 processor cores if necessary to handle load. It is not recommended to scale beyond 6 cores per server. If processor bottlenecks are found with 6 cores it is time to scale out to more Client Access servers.
Memory Scaling
For Windows servers memory is important for caching of data for fast access by the processors. Insufficient memory would lead to excessive page file usage on the server and higher disk I/O, slowing the server down.
The minimum recommended memory for a Client Access server is 2Gb, but as a general rule the server should contain 2Gb of memory per processor core. So for example a 4 core server would require at least 8Gb of memory.
Client Access server memory can scale up to 16Gb (which is more than 2Gb per core for the maximum 6 cores) but beyond that you will encounter diminishing returns as you add more.
Disk Scaling
Client Access servers do not require a great deal of disk capacity in gigabytes, but will benefit from fast disks for read/write operations particularly for the Internet Information Service (IIS) that is core to the Client Access server’s role.
Because fast disk is quite common in servers these days most organizations will not hit disk bottlenecks on Client Access servers.
Scaling Impacts
The Client Access server does not contain any built-in clustering or load balancing intelligence. Once an organization scales out to two or more Client Access servers it introduces extra considerations.
It will be desirable to load balance the incoming Client Access server connections for both performance and high availability purposes. For those organizations without an existing load balancing infrastructure (such as hardware appliances or ISA Server firewalls) the Windows Network Load Balancing features can be used to form an NLB cluster of the Client Access servers.
In the next post in this series I will discuss scaling considerations for the Mailbox Server role.



December 12th, 2009 at 7:05 am
[...] Scaling Up vs Scaling Out Exchange Server 2007 Roles Part 2 – Client Access Servers [...]