Radware AppDirector – GSLB Configuration – Part 2
The first post regarding GSLB explained how to setup the AppDirectors for a successful deployment. In this article, I’ll point out and explain a “gotcha” to be aware of and keep in mind while configuring the AppDirector.
Application Server Names and Dispatch Method Selection
One of the nice features about the AppDirector is the ability to load balance among all farms when multiple applications are serviced by the same physical servers. For example, say you have 4 web servers hosting multiple applications and Server1 is being heavily utilized for Farm1. New requests for Farm2 take the current connections for Farm1 into account and will send the new request to a different server. This requires your application server names to be identical but assigned to different farms they service. Therefore you’d have an application server entry for Server1 assigned to Farm1 and then another entry for Server1 assigned to Farm2 and so on. Note: An additional benefit from this is the ability to pull an physical server from all farms in the event of you need to performance maintenance on a server using the Physical Servers table.
While the above features seem great, they actually hinder the GSLB setup, as load reports between the AppDirectors get their connection statistics from the Servers table – not the Farm table. Therefore, if your application servers are identically named (in attempt to gain the benefits named above), the load report will add up all the connections to Server1 and report that number on each load report you’ve setup. The screenshot below is from the Monitoring page, in which you can see identical numbers for two different farms because their application server names are identical:
Device –> Device Monitoring
As you can see, the connection numbers are inaccurate and the Farm Distribution Threshold and Farm Capacity Threshold for each farm would quickly be overrun. This would result in the Distributed AppDirector always reporting to the other AppDirector that it cannot accept any new connections.
So what is the fix?
If your application servers names are identical, you must use the Farm Dispatch Methods with “Local” at the end. This segregates your applications servers from others and will report the proper numbers in load reports. The downside to this, as you can image, is you do lose the ability the load balance across your servers taking into account ALL farms. The screenshot below shows you that the proper connection numbers are now being reported after changing the dispatch methods from “Least Amount of Traffic” to “Least Amount of Traffic – Local”.
Device –> Device Monitoring
As you can see, the connection numbers are now accurate for the individual farms and the Farm Distribution Threshold and Farm Capacity Threshold values now become more meaningful.
Happy Load Balancing!
If you like this post – please comment and let me know. Additionally, let me know what other topics you’d like me to cover.