Citix ICA Client File intermittently not downloading on app request

Posted on 2012-09-08
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

    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
    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

    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?
    LVL 19

    Assisted Solution

    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
    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

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

    Author Comment

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

    Featured Post

    Highfive Gives IT Their Time Back

    Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

    Join & Write a Comment

    #Citrix #Internet Explorer #Enterprise Mode #IE 11 #IE 8
    Citrix XenDesktop 7.6 Citrix Policies Audio
    This tutorial will show how to configure a new Backup Exec 2012 server and move an existing database to that server with the use of the BEUtility. Install Backup Exec 2012 on the new server and apply all of the latest hotfixes and service packs. The…
    This tutorial will show how to configure a single USB drive with a separate folder for each day of the week. This will allow each of the backups to be kept separate preventing the previous day’s backup from being overwritten. The USB drive must be s…

    755 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now