As a young programmer, I read a book by Michael Abrash which has provided me guidance through the years. “The Zen of Code Optimization” was published in 1994 and discusses graphics coding and performance using Intel 8086 assembly language, implemented under DOS.
Today, it is $1.78, used, on Amazon and if you have a little time to kill, I recommend reading at least through chapter 3 where the author provides these words of wisdom.
“Assume nothing. I cannot emphasize this strongly enough-when you care about performance, do your best to improve the code and then measure the improvement. If you don’t measure performance, you’re just guessing, and if you’re guessing, you’re not very likely to write top-notch code.”
Profound words: Whether measuring the performance of Doom and Wolfenstein DOS video games in 1994, or measuring the performance of a 5,000 user, geographically diverse XenApp and XenDesktop configuration in 2015, the same tenets apply. You can guess at the performance results all you want, but you must measure to actually understand.
How do you best measure a system that requires 5,000 machines to model? Answer: Set up 5,000 machines.
The Citrix Solutions Lab exists for this purpose – it is a multi-million dollar tape-measure that exists to carefully measure the performance of Citrix solutions implemented at full scale. The lab provides a platform for IT experts and Citrix architects to question hypothesis and measure results. Known for defining the scalablity and density expectations for very large Citrix data centers, the lab also influences the design of future releases by providing a solid view of the present and letting us know how things are working now, and areas where we can work to constantly improve.
Citrix Solutions Lab
Physically, the solutions lab is a lab. A datacenter with all the fixings that you would expect to see in something supporting an entire company. Here are some pictures.
No mystery – A building, lots of computers, hypervisors, networking, storage, A/C and a really big electric bill. The trick on this data center is that it exists purely to model Citrix products and take measurements.
Everything is full-scale
Want to know how a 5,000 user XenDesktop configuration will work? Run 5,000 hosted VMs and 5,000 ICA clients and add some NetScaler Gateways for remote access. Massage the networking to add latency and … simulate the world! Finished the measurement? What did you learn? How can you adjust the model for superior performance and density? Lather, rinse and repeat. Keep this up for a while and settle on a configuration and you have results. Results which can be written into a paper and shared. When trying to understand complexities and interaction at scale, the best way to take that measurement, is to measure a complete system at full size. The solutions lab provides this service.
Expensive? You betcha!
But, less expensive when Citrix does the work (once), and all of our customers can leverage the information learned (many). Citrix can take the measurement and share the results, and all of our customers can leverage the data when defining the architecture of their IT systems. The solutions lab team also have the advantage of being able to query all the product experts when deploying and using this information to shape the definition of the reference architectures, and including that configuration data in the reference architectures.
We talk about the lab and computers, but the solutions lab is really the people; the people that run the tests, document and present the output. They are experienced IT admins and architects who every-day, are setting up, testing, tweaking, documenting, tearing down and starting again, carefully documenting the system configuration and measuring the results.
Citrix has other labs whose purpose is to verify that things “work.” The solutions lab exists to take “measurements.”
The output of the lab is documents and reference architectures; things which can be GOLD for IT architects and CIOs. The output is also presentations. At Citrix Synergy and similar events you, will see the solutions lab folks making presentations showing the measurements they have taken and describing the process, the results and any “gotchas” they may have encountered along the way. They are also regular presenters at the Synergy technology expo where you can stop by for face to face discussion.
Here are some presentation examples from Citrix Synergy 2015, all video.
- SYN305 Reference Architecture for Citrix Workspace Suite
- SYN307 Performance of a NetScaler in a combined XenDesktop and XenMobile environment
- SYN319 Tech update for XenApp and XenDesktop, density improvements XenApp 6.5 to 7.6
- SYN238 Security enhancements in XenApp and XenDesktop 7.6
Earlier this year, I asked the lab to model a public sector “federal” XenApp and XenDesktop configuration. Common Criteria configuration, locked down using Windows STIGs, HBSS anti-virus and configured according to Citrix XenApp/XenDesktop FIPS 140-2 compliance documents including TLS usage both inside and outside the NetScaler Gateway with ICA proxy network separation. How does this perform compared to a commercial configuration? What are the density expectations for federal customers vs. the commercial models that have been done in the past?
Tony Pimper from the solutions lab team has posted a blog on the activity and a link to the PDF results here. My SYN238 presentation, link above, also goes over the results, starting at 21:00.
Product Manager, Public Sector, Citrix