Citix ICA Client File intermittently not downloading on app request

Posted on 2012-09-08
Medium Priority
Last Modified: 2012-09-20
We have been having an issue where applications are not loading when selected. Given the time-frame of these occurrences it seems to me that when this happens the system is too busy to serve/create the ICA file that kickstarts the session. Applications seems to have no issue launching in the early morning, but as the demand increases we see failure to launch happening more and more throughout the day. It can take multiple atempts before the file is available.

My admin has added more Citrix servers to the farm in response, but this seems to not help. When an application is chosen what mechanism creates the ICA file? Is it the actual server the app has been load balanced on, or it is some sort of initial gateway/session generator on one device?

It seems to me that it's one device that is simply overwhelmed by the number of connection requests and fails to provide the connection file.

If someone provide provide some insight on the mechanics of a session from request to completion it would be much appreciated.
Question by:DarthRater
LVL 23

Accepted Solution

Ayman Bakr earned 1000 total points
ID: 38381186
I will describe the process by which the client contacts the XenApp server:

1. Client puts in the URL of the web interface, WI

2. The WI contacts the XML broker for authentication of the client and to provide with the list of applications published for the user

3. The client gets presented with the icons of the applications published for the user

4. Client clicks on an icon to launch the application

5. The web interface contacts the XML broker which will query the Data Collector (usually the Data Collectors are set to be the XML Brokers) to retrieve the least loaded XenApp server. This is passed through an ICA file by the XML broker to the WI which in turn passes it to the client.

6. The client having the ICA file with the IP of the least loaded server will here on directly contact the XenApp server.

There are many points I could think of causing your issue:

1. Adding more servers should theoritically relax the load on the other servers. However adding the servers to the farm is not sufficient! Did your admin add those servers to the list of servers hosting each app? That is to say in Xenapp 5 and prior the concept of worker group was not there and when you join a XenApp to the farm you have to add it to each of your published apps. So if you have 100 apps hosted on that server you needed to go into the properties of each published app in the delivery console (appcenter) and add the server. In XenApp 6.5 adding the new server to the worker group of the rest of the servers will suffice. Ensure the admin has done his homework properly.

2. Perhaps the load evaluators used are not appropriate and needs modification - that is if you already have a custom load evaluators. If not then you'd better create a one where you would probably take the following parameters into consideration:
      Number of users
      Load throttling

3. During mid-day where things go haywire, you need to check in your delivery console (AppCenter) for any server reporting any errors, or the IMA service going down. I remember we used to face similar issue during which it was only resolved when we restarted our Data Collectors (of course also starting up the IMA service on the servers that have gone down)
LVL 12

Expert Comment

by:Daniel Borger
ID: 38381201
Do you have a dedicated Zone data collector? (not serving apps) perhaps you could specify the ZDC as the only server for Web interface/PNAgent and see if that helps. Also check the eventlogs on the Web Interface. In larger farms this configuration is recommended.  This could also be to servers that are listed for the application but not available or IMA services not running.

Author Comment

ID: 38381663
So it sounds like there is a central resources that take the request, passes by the load balancing service which then creates the ICA file and delivers it to the browser for download.

What happens is not so much that the app doesn't load, but that the file isn't made available to the browser to use. It feels like we are DDOSing this server and it's just dumping requests it can't handle.

Is there a way to distribute this load so all the requests get handled? Not so much for server resource based load balancing, but initial ICA requests?
Creating Active Directory Users from a Text File

If your organization has a need to mass-create AD user accounts, watch this video to see how its done without the need for scripting or other unnecessary complexities.

LVL 19

Assisted Solution

basraj earned 1000 total points
ID: 38381881
When so much apps doesn't load(in a mixed farm), then i might also take a look at the XML broker servers. You can also find the XML broker server in the CItirx web interface. When you click the URL, you will find an option to manage server farm, once you edit that you will notice 2 or 3 servers taking part as a XML server. Make sure those servers are online and are responding fine. Try restarting IMA and XML services on those servers.


In your case, for example, if you have 5 servers hosting 5 outlook application then I would request you to check the load on each servers. Some times out of 5, 1 server mayn't be responding, so randomnly user might face the problem. In such situations, run qfarm /load from the command prompt on any xenapp servers to find the load of each servers. If any server during peak time is reporting load as 0, then see if IMA service is running on that server or you can also try restarting the IMA service on that server(any load close to 10000 is heavy and any with 27000 has licensing problem).

In such situations, disable logons to the heavyly loaded servers to verify the less loaded servers are taking the additional loads r not. Other things to look at is load balancing evaluators, alerts etc.

Also cross check if the newly added servers also take part in the load. In the above example, go the outlook application properties in the farm, see the list of servers hosting that applications. Chances that new added servers are ignored.
LVL 23

Expert Comment

by:Ayman Bakr
ID: 38381937
basraj repeated what I mentioned above in a different way ;)

Apart from ensuring that the newly created servers are added to the list in each published app they host, check also the load evaluators. Specifically, check for load throttling algorithm being added to the load evaluator to avoid any bomardment on one server when servers start to get up (after say a maintenance or a scheduled restart or a restart during peak times). Moreover, configuring the load evaluator with CPU utilization of for example 80% will ensure that your servers will accept no more connections if they reach that boundary thus helping in the load balancing where new connections will be directed to other least loaded servers. This is true for RAM and number of users.

The fact that the ICA file is not downloaded implies that no server is being able to serve the request.

Again also check your Data Collectors (most probably they are your XML brokers also). Try restarting them one at a time during the mid-day issue and see whether this will make any difference. Ensure also that they are dedicated as data collectors, that is they don't host any applications; otherwise this would be the main culprit.

Author Comment

ID: 38382749
Excellent answers, thank you. I will report back when I have a result.

Author Comment

ID: 38418900
My thick headed admin didn't want to listen and the problem still occurs. Thanks for your insight.

Featured Post

Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Citrix policies are the most efficient method to configure and tune XenDesktop environments, allowing organizations to control connection, security and bandwidth settings based on various combinations of users, devices or connection types.  Citrix …
ADCs have gained traction within the last decade, largely due to increased demand for legacy load balancing appliances to handle more advanced application delivery requirements and improve application performance.
This tutorial will walk an individual through locating and launching the BEUtility application and how to execute it on the appropriate database. Log onto the server running the Backup Exec database. In a larger environment, this would generally be …
To efficiently enable the rotation of USB drives for backups, storage pools need to be created. This way no matter which USB drive is installed, the backups will successfully write without any administrative intervention. Multiple USB devices need t…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question