Forum Discussion

Mark_C_14355's avatar
Mark_C_14355
Icon for Nimbostratus rankNimbostratus
May 14, 2008

Best Practices for Load Balancing Windows Terminal Server

Hi,

 

 

This is my first post, so please be gentle.

 

 

We're preparing to use our LTM to load balance between two Windows Server 2003 Terminal Servers (with more to come in the future). I'm planning to use Session Directory to prevent duplicate sessions. Disconnected sessions will be terminated after a moderate interval (longer than lunches and breaks, but not by much).

 

 

To me, the metrics that make the most sense to use for Load Balancing decisions are Active Sessions, CPU utilization, and Memory utilization. CPU and Memory are pretty easy to get via SNMP, but from what I can tell, Active Sessions is not. To get Active Sessions, the next easiest method appears to be WMI.

 

 

I believe that I have the f5isapi.dll installed and configured correctly on the server I am wanting to poll.

 

 

My questions for those who have been down this road before me:

 

Am I heading in the right direction (should I base LB decisions based upon custom metrics, and are the ones I listed the right ones)?

 

Is WMI the easiest and/or best way to get Terminal Server Active Sessions?

 

How can I verify the information the LTM is getting back via WMI? (I do have access to the console on the LTM)

 

 

Based on the answers I get, I'm sure I'll have plenty more questions. Thanks in advance for any advice.

 

 

Mark

4 Replies

  • Hi Mark,

     

     

    Your in luck. F5's main website has a Deployment guide for WS2003 Terminal services, Click here

     

     

    Click here to see the laundry list of Deployment guides from F5

     

     

    CB

     

  • CB,

     

     

    This is fantastic! Thank you very much for pointing me in the right direction.

     

     

    I've implemented the setup as specified in the document, but I'm still wondering if the Load Balancing mechanism specified (Least Connections (node)) is the best one (the document acknowledges that "different load balancing methods may yield optimal results for a particular network"). My concern is that if by the luck of the draw, more of the heavy resource users are connected to one Terminal Server, they'll serve to drag that server down, while other servers operate with relatively light loads. This is a very real thing in my organization - we've had to manually load balance heavy users by identifying them and asking them to use specific Terminal Servers, so that they don't all end up on the same server.

     

     

    This concern is what is leading me in the direction of load balancing based upon real-time server metrics like Active Sessions, CPU, and Memory. Am I overanalyzing this, or is this a valid approach to load balancing the Terminal Servers?

     

     

    Thanks again for your help!

     

     

    Mark
  • That's not over-analysis at all, that's good practice. If your user base is that variable, you should weigh the options between least connections and a more advanced algorithm. If you really want to go the extra mile, you could write a C application that would do the analysis of each server for you via WMI, and update the load balancing mechanisms automagically with iControl.
  • Ryan_Korock_46's avatar
    Ryan_Korock_46
    Historic F5 Account
    Mark, I think your concern is definately valid.

     

     

    F5 provides a few methods for load balancing based on server metrics, such as available CPU, memory, disk space, etc.... The two easiest that come to mind is having the BIG-IP collect this data from your servers via SNMP, or using F5's WMI .dll for collection.

     

     

    Both methods can be used to pull server metrics and load balance based upon the results.

     

     

    Here is some documentation on how to set this up.

     

    Implementing monitors for Dynamic Ratio load balancing

     

    https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip9_4config/BIGIP_LTM_CONFIG_GD_9_4-17-1.html?sr=755960