Verifying Load Balancing Configuration
Topic Last Modified: 2009-01-23
If you are deploying a hardware load balancer as part of your Communicator Web Access (2007 R2 release) infrastructure then you should run a series of tests to verify that your load balancer has been correctly configured and is working as expected. At a minimum it is recommended that you:
- Verify that each Communicator Web Access server can communicate with other computers on the network, and can connect to Active Directory.
- Verify that the load balancer is able to equitably distribute incoming connections.
- Verify that standard Communicator Web Access activities – such as instant messaging and presence detection – are working as expected.
Verifying DNS and LDAP Traffic
Load balancing will not work unless each of the individual servers in your array of Communicator Web Access servers can do two things:
- Resolve IP addresses and computer host names.
- Communicate with an Active Directory global catalog server.
Because of this, the first test you should perform is to verify Lightweight Directory Access Protocol (LDAP) and Domain Name System (DNS) connectivity; this test must be performed on each server in the server array. In the first part of the test you will ping a global catalog server by IP address (for example, 192.168.1.5). For the test to complete successfully, you must get back a response similar to this:
Pinging 192.168.1.5 with 32 bytes of data: Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.5: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
If that test completes successfully you will then ping the global catalog server by name. With this second test, you should get back a response similar to this:
Pinging gcserver.contoso.com [192.168.1.5] with 32 bytes of data: Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Reply from 192.168.1.5: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.5: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
After using these two tests to verify DNS traffic, you should next use the Ldp.exe utility to verify your LDAP connection to Active Directory.
Verifying Load Balancer Configuration
The primary purpose of a load balancer is to make sure that workloads are distributed evenly among all the servers in your server array. For example, suppose you have four servers in your server array, and 100 users log on to Communicator Web Access. If you have employed hardware load balancing and if load balancing has been configured correctly, each server should end up handling 25 sessions (100 total sessions divided by 4 servers.)
To verify your load balancing configuration you should do a series of tests involving two user accounts (User A and User B) and no more than two Communicator Web Access servers at a time. (Using more than two servers makes it more difficult to track down the source of any problems you might encounter.) If you have more than two servers in your server array, you should repeat testing on each possible pair of computers. For example, suppose your server array consists of the following computers:
- Server A
- Server B
- Server C
- Server D
In that case, you need to run tests involving the following pairs of computers:
- Server A and Server B
- Server A and Server C
- Server A and Server D
- Server B and Server C
- Server B and Server D
- Server C and Server D
The test itself is relatively simple. To begin with, you will configure your load balancer and include just two servers (Server A and Server B) in your server array. (For purposes of testing, you can simply turn off your other Communicator Web Access servers.)
After the load balancer and server array has been set up, you will need two client computers: Client A and Client B. As User A, you will log on to Client A and connect to Communicator Web Access. As User B you will log on to Client B and connect to Communicator Web Access. If load balancing has worked correctly, Server A and Server B should each have one connection. If either server is handling both connections, load balancing failed.
Verifying HTTP/HTTPS and Server SIP Traffic
After verifying that load balancing is working correctly, use your two client computers and user accounts to verify that Communicator Web Access is working correctly. This can be done by:
- Verifying that the two users can exchange instant messages.
- Verifying that any time User A changes his or her status that presence change is visible to User B.
- Verifying that User A can block User B, preventing User B from seeing status information or exchanging information.
- Verifying that User A can unblock User B.
- Verifying that the two users can delete each other as contacts, and then use the Search capabilities built into Communicator Web Access to re-add each other as contacts.