A couple of weeks ago I was asked to publish a new ERP application and suddenly all the hosted applications started to suffer performance problems... after some basic tests I looked on Amazon for an help and found the book I'm reviewing: Citrix XenApp Performance Essentials, by Luca Dentella, is a practical guide that helps system administrators to identify bottlenecks, solve performance problems and optimize XenApp farms thanks to best-practices and real-world examples.
Here's a short summary of its five chapters:
A well-designed infrastructure may help to solve a lot of headaches when the infrastructure is in production... in chapter 1 the book explains the most important elements of a XenApp infrastructure (session-host servers, datastore servers, web interface servers...), their role, how they work together and how to correctly size them based on the number of users and applications that will be served. This chapter includes not only best practices from Citrix, but also precious suggestions that come from author's experience with real Citrix farms.
When a farm is in production and users start to connect and work with published applications, it's very important to monitor its performance: in chapter 2 Luca explains how to monitor it, from the basic Windows Performance counters to the use of advanced Citrix tools. XenApp offers several advanced settings (CPU Utilization Management, Memory Optimization, Load evaluators
A typical complaint about applications published by XenApp is that they start slowly... this is usually caused by slow session start-up. Chapter 3 teaches the most frequent causes of slowness and how to reduce the start-up time, including the use of the new features of XenApp 6.5 (Session Sharing and Lingering).
Multimedia applications are becoming more and more frequently published by XenApp farms, that's why Luca wrote a chapter, the forth, to explain the technologies Citrix offers under the "HDX" brand and how you can take advantage of them for publishing video/audio/VoIP applications.
The last chapter is about remote users, i.e. users that connect to the farm using WAN (wide-area networks) connections. Citrix offers different optimizations and Citrix administrators can work together with network admins to improve the user-experience with the use of QoS, priorities... It's usually hard to understand how published applications work with slow, laggy links; Luca found an opensource tool, named WanEM, that can simulate every kind of links; in chapter 5 you'll also learn how to use it.
This book is not for people looking for a for dummies manual about Citrix XenApp: it won't teach you what is XenApp, how to install your first XenApp server or how to publish your first application. It's intended for intermediate-expert Citrix administrators that need a pratical, quick guide about an important task of their job: make sure the farms they administer work well. The first chapter is also a must read for all those IT Architects that are designing or planning a new installation: I've seen several projects fail or miss their business goals because of bad-designed architectures (presence of single point of failure, undersized servers...).
This book is also an interesting read for administrators courious about the new features of Citrix XenApp 6.5: some of them (for example session pre-launch) can be a significative improvement in your existing farm.
As the title suggest, this is not a huge book (about 130 pages), this means that not all the topics are deeply explained... sometimes you'll probably need the help of Google to find Citrix how-tos or docs to implement what is suggested: do not expect a step-by-step guide but a book that introduces many advanced features you can implement possibly with the help of Citrix manuals.
To summarize, I was satisfied about this book and I think it's worth buying: I consider myself an "expert" system administrator but I must admit I didn't know some of the features explained in this book and I realized that I didn't fully understood others: for example Luca gives an excellent explanation about what is DLL collision, a problem that on Windows OSes can cause waste of RAM memory. A special mention for chapter 5, maybe a good read with the help of a network colleague: it explains what Citrix can do to help the network guys to optimize the connection (Quality of Service, WAN scalers...) for remote users.