Tuesday, August 11, 2009

Using EdgeSight for load testing Xenapp

Something that we have been needing a lot of recently as we design a new Citrix Xenapp 5 farm is some way of load testing the new servers we're building so we can see how to get the best "density" (i.e. how to cram the most users on a server without them complaining).

If we asked Citrix they would tell us 64-bit is good and using XenServer is also good - so having Windows Server 2008 installed about 2-3 times on each physical server instead of just once.

A new-ish option is Edgesight - this has been around for years but is now available for Citrix Enterprise customers without paying extra money. This is rather good at monitoring CPU, Disk, etc on servers and also has a component called Edgesight For Load Testing, which is essentially a way of getting a few desktops to hammer the server with pre-recorded Citrix sessions.

A bit like a denial of service attack.

Anyway, had a lot of fun (not) creating a standalone server using SQL Express 2008 to handle this, so this is basically what I did...

  • Download the software from My Citrix. Note EdgeSight and EdgeSight for Load Testing are not the same download. That made me scratch my head for a good 10 minutes until the penny dropped.
  • Install Windows Server 2003 or 2008 - personally I found 2008 a bit slower and used about 6gb more disk space for no obvious benefit so used 2003.
  • Install SQL Server Express 2008 with Advanced Features. Don't be tempted to try SQL 2005 Express, it doesn't work. The Advanced Features bit is needed as Reporting Services is a vital component. Note that when you get to the Instance name, don't change it to Default Instance, leave it as an Instance called SQLEXPRESS. This caught me out - I usually use Default Instance if I can but later EdgeSight refused to use it, claiming that Reporting Services was not configured correctly.
  • Install the SQL Server 2005 Backward Compatibility Components.
  • (Alternatively you could just point EdgeSight at a "real" SQL Server if it has Reporting Services - 2005 or 2008 is fine in this case).
  • Install EdgeSight - this should be fairly self explainatory. The only bits that tripped me up were in the SQL Setup.
  • Setup your "Company" - install agents on the Citrix/Xenapp servers themselves (this requires a reboot - darn) and they should appear in the interface so you can monitor alerts, CPU, memory, etc.
  • Install Xenapp for Load Testing Controller on the same server and Xenapp for Load Testing Launcher on a few desktop machines.
  • Configure scripts and hammer the server!

Notice it runs out of details completely at the end - its time to figure out how Load Testing really works...

No comments:

Post a Comment