How to Load Balance AppSense Personalization Server using Citrix NetScaler

How to Load Balance AppSense Personalization Server using Citrix NetScaler

How to Load Balance AppSense Personalization Server using Citrix NetScaler

This post has already been read 5656 times!

I thought I would write a post on load balancing the Personalisation servers you may have deployed in your AppSense Environment Manager deployment. Whilst AppSense offer an in built load balancing method within their console this seems to only offer an active/passive fail over scenario. In the event that you max out a server or just want to set up an active/active cluster you can follow these steps.

Log into your NetScaler and expand Traffic Management – Load Balancing.

myWPEdit_Image_1437644673.jpg

Click on Servers then click Add. Add your 2 Personalisation Servers into the server listing.

myWPEdit_Image_1437644756.jpg

You will now need to create a new Monitor to specifically check that the AppSense Personalisation Server is up AND has a valid connection to the database. Click on Monitors and add a new monitor.

myWPEdit_Image_1437644907.jpg

Click Add, give the new monitor a name and select the type HTTP-ECV

myWPEdit_Image_1437645017.jpg

Select the Special Parameters tab and fill out the Send String and Receive String fields as follows:

Send String: “GET /PersonalizationServer/status.aspx”
Receiver String: “Successfully opened a database connection”

Both without quotes.

myWPEdit_Image_1437645235.jpg

Click create to set up your new monitor.

Click the Services Node and create 2 Services, 1 for each AppSense Personalisation Server you added earlier.

First give the service a name, select your server you added earlier from the list and ensure the protocol is HTTP.

myWPEdit_Image_1437645563.jpg

Click OK and then locate the monitor thats assigned by default (normally PING) Change this to the new monitor you created earlier. Click the existing monitor.

myWPEdit_Image_1437645671.jpg

Click Add Binding

myWPEdit_Image_1437645738.jpg

Select you new monitor from the list provided and click Bind.

myWPEdit_Image_1437645803.jpg

You will now see your 2 Personalisation Servers with a bound service showing as UP.

Now you can create the Virtual Server to load balance the 2 AppSense Personalisation Servers.

Click the Virtual Servers node and click Add.

Give your new Virtual Server a name, select HTTP as the protocol and give it a free IP Address on your subnet.

myWPEdit_Image_1437646305.jpg

Click OK then select to bind the 2 services you have just created.

myWPEdit_Image_1437646408.jpg

Click on the services and bind your 2 Personalisation Servers to the Virtual Server

myWPEdit_Image_1437646466.jpg

Click OK and you should have a new Load Balancer balancing your Personalisation Servers.

Finally you need to set up the Method and Persistence to the Load Balancer. Open up the Load Balanced Virtual Server and add the Method and Persistence Options.

myWPEdit_Image_1437646611.jpg

Ensure you set the Method to Round Robin and the Persistence to Cookie Insert and click OK on both options.

myWPEdit_Image_1437646686.jpg

At this point you have a load balancer set up for your 2 AppSense Personalisation Servers running on a unique IP Address. You can use the IP Address or for a better experience you can add a dos record to point to the Virtual IP.

All that remains is to add your new Virtual Server to your Personalisation Server Configuration.

Open the AppSense Environment Manager Console and click on User Personalisation

myWPEdit_Image_1437646934.jpg

Click on Connect and Connect to either of your active Personalisation Servers. Expand Sites then the Site that your 2 servers reside. In this case I am using the Default Site for ease.

myWPEdit_Image_1437647081.jpg

Right click the site and click on Add Virtual Host

myWPEdit_Image_1437647133.jpg

Add the dns name or IP Address for the new Virtual Server and click OK.

myWPEdit_Image_1437647188.jpg

Thats it, you will be able to access personalisation using the new Virtual Server you have created.

NOTE: This will only load balance the presentation layer of the solution not the SQL part. If you want to know how to use NetScaler to load balance a SQL Mirrored Database then please read the following article I have previously written. Set this up for your AppSense Database and when configuring the Personalisation Server initially point the Database connection to the Virtual Server rather than the individual Server.

Hope this helps some of you out.

Laters,
b@m

3 thoughts on “How to Load Balance AppSense Personalization Server using Citrix NetScaler

  1. Richard Thompson

    Hi Dave,

    I’d recommend adjusting your health monitors to use the dbmonitor.aspx and pingmonitor.aspx pages instead of status.aspx. Status.aspx is heavier on the servers but also requires authentication so customers opting to use Windows Authentication instead of Anonymous will have issues with this. The pages I mention do not require any authentication.

    Regards,
    Richard

  2. Trent

    Hi,

    is this really a recommended/valid LB configuration for AppSense products? AppSense provides a “Best Practices document” for load balancing their services and it seems totally different to your article.

    Thanks

    1. Bretty Post author

      Hi Trent,

      It is an alternative option to the fail over methods that AppSense provide. Assuming a server fails in the personalisation server list AppSense will drop to the next one. The mthod described here will allow for an Active / Active load balancing method rather than an Active / Passive. Useful if you have deployments of more than 10,000.

      Not a replacement – just an alternative.

      Thanks,
      Dave

Leave a Reply

Your email address will not be published. Required fields are marked *