Archive
Performance Tuning Citrix Storefront 2.x – #Citrix, #StoreFront via @PeterSmali
Another great blog post from my colleague Peter Smali!
Performance Tuning Citrix Storefront 2.x
First of all I would like to thank Sandbu who came up with an extra performance tuning trick that I have been testing for a while now.
In this post I’ll be demonstrating an updated version of Sandbu’s due some small changes since the introduction of Citrix Storefront 2.x
As we all are aware of, Citrix Storefront is fully dependent on IIS to work, but it is really suffering of some perfromance issues that surely most of us who have been testing or implementing it are aware of. So Let’s give Storefront a new perfromance birth by doing the following
Attention! Take a backup of all files you are going to modify before doing this! And Remember that Citrix Systems does not support this!!
1. Enable Socket Pooling (pooledSockets=”on”)
Open your C:\inetpub\wwwroot\Citrix\Storename\Webweb.config file as administrator and chenge pooledSockets=”off” to pooledSockets=”on”
By enabling socket pooling, Storefront maintaines a pool of sockets instead of creating a new socket each time a new user connects to Storefront, this will give a better performance for SSL based traffic.
2. Changing the application pool to always running (Windows Server 2008 R2)
If you are running Storefront on Windows Server 2012, there is already a new feature implemented in IIS called always running on the application pools but if you are still Windows Server 2008 R2 as I do then you need to do some manual changes…
But if you are still running Windows Server 2008, then you need to do the following:
2.1 Download and install Application Initialization Module for IIS 7.5. A reboot may be required to finish the installation process…
2.2 Open the C:\Windows\System32\inetsrv\config\applicationHost.config on the storefront server as administrator and locate the following setting <configuration><system.applicationHost><applicationPools> and add thealways running paramter startMode=”AlwaysRunning” on each of following application pools
•Citrix Delivery Services Authentication
•Citrix Delivery Services Resources
•Citrix Receiver for Web
•Citrix Delivery Services
The result may look like this:
add name=”Citrix Delivery Services Authentication” autoStart=”true” managedRuntimeVersion=”v2.0″ managedPipelineMode=”Integrated” startMode=”AlwaysRunning”>
2.3 Now locate <configuration>…
Continue reading here!
And you can also check this tuning blog post:
Finetuning a Citrix StoreFront deployment
And also ensure that you intelligently load balance your XML brokers, my suggestion is to use content switching in combination with load balancing to get a more optimal solution in place.
Ensure that you DON’T use FQDN’s when you add the XML broker name into the Delivery Controllers config of the StoreFront Store!! Use NetBIOS names, and NOT like farm1.company.com, rather specify “farm1″ and then ensure that the StoreFront server can resolve “farm1″ to your CS VIP, that will speed enumeration up a lot due to that StoreFront first checks via NetBIOS/WINS which isn’t that optimal!
Content Switching instead of Load balancing of XenApp XML brokers? – #XenApp #NetScaler #CS #LB
Happy StoreFront’ing!
//Richard
How to: Create Desktop Appliance site on StoreFront – #Citrix, #StoreFront, #ThinClient
I guess that some of you out there by now are using Thin Clients and some are using Desktop Appliance site functionality in the old Web Interface for these thin clients that are XenApp- or XenDesktop-ready.
So now you have or are thinking on how to setup this on StoreFront!
Citrix has A LOT of work to do in order to ensure that StoreFront becomes a stable and enterprise ready! There are so many tweaks and configurations needed in config files etc. that just isn’t ok! Add them into the console! It’s not hard, even I could code in some menus, forms windows and trigger the underlying PowerShell scripts!
But back to the topic, how do we configure Desktop Appliance site in StoreFront? Well, first we need to have a look at the following edocs articles that explain how to do it:
Desktop Appliance sites – And the most important in this article is the bottom that details WHAT DOESN’T WORK!
Important considerations
Desktop Appliance sites are intended for local users on the internal network accessing desktops from non-domain-joined desktop appliances. When you decide whether to use Desktop Appliance sites to provide users with access to your stores, consider the following restrictions.
- If you plan to deploy domain-joined desktop appliances and repurposed PCs, do not configure them to access stores through Desktop Appliance sites. Instead, configure Citrix Receiver with the XenApp Services URL for the store. For more information, see XenApp Services URLs.
- Desktop Appliance sites do not support connections from remote users outside the corporate network. Users logging on to NetScaler Gateway cannot access Desktop Appliance sites.
How do you release this and don’t support connecting through a NetScaler Gateway? Then you miss the whole point of SmartAccess, you cannot trigger EPA (host checks) for instance to control ICA/HDX features like drive mapping etc. internally. And you cannot have thin clients on the Internet that connects into the enterprise through NetScaler Gateway!
Next you should read this article that details the PowerShell madness 😉
Configure Desktop Appliance sites
I won’t go into details of the article above but rather show you how it’s done and with some examples of arguments to pass to the PowerShell scripts.
Step one is to log on to your StoreFront server, and just to show you our current setup is that we have one Receiver for Web (RfW) sites used for browser access into StoreFront:
From a Store perspective you can see that we have one (1) store that the RfW site exposes:
Performance tuning #Citrix #Storefront – via @msandbu
Great article by Marius!
Read it and also have a look here at my previous post related to this: #Citrix #StoreFront Slowness, Join and Replication issue – check list!
This is something I wanted to write about for some time now, after the release of XenDesktop 7 but there are only 24 hours in one day so therefore I didn’t have the time before now
But the purpose of this post is to really say that Storefront is slow…..
Don’t get me wrong it not about Citrix but the combination of Storefront and IIS that makes it a bit complex and therefore this makes it a bit slow.
Now there are a couple of tricks that can tune the perfomance.
Socket Pooling
In Web Interface you could enable it from the console, but in StoreFront we have to change it in the store config. By enabling socket pooling, Storefront maintaines a pool of sockets instead of creating a socket each time a new user connects, this will give a better performance for SSL based traffic.
You can enable this by opening the web.config file under C:\inetpub\wwwroot\Citrix\storename\
pooledSockets="off"
And Change this to “on” after that you have to do an IIS reset.
Application Initialization
(NOTE: Make sure you backup the config files before making alterations)
With Windows Server 2012 we have a new feature in IIS called always running on the application pools, this allowed for IIS to make everything ready after an application pool has restarted, before this the previous IIS was set to start loading after the first user tried to login after a restart. This caused the first user to login after an application pool has restarted to take loooong time to login. With Server 2012 IIS we can change the application pool to always running.
With 2008 R2 not so easy. But we can make it happen
First we need to download the application initialization feature from Microsoft
http://www.iis.net/downloads/microsoft/application-initialization
After that is done and installed…
Continue reading here!
//Richard