Java – Performance problems when running Java desktop applications on Citrix Metaframe

citrixjavaoptimizationperformance

We have a desktop Java application running within a Citrix Metaframe server farm and the performance, specially while starting up the app, is very unreliable.

Sometimes it takes 15 seconds and sometimes it takes over a minute. It's really unpredicatable.

Is there any way to optimize running Java desktop applications within Citrix Metaframe Terminal server sessions to a more reliable performance level?

Are there any optimization directed specifically toward Java, such as pre-load JVMs or something like that?

Any help would be greatly appreciated.

Best Answer

We were plagued with this for several months, starting in January-February 2009. An MS support team finally determined it was caused by excessive registry locking, emanating from the IE browser helper object (BHO) for Java.

I don't think the root cause was java per-se, as we had not made any changes to Java for a long time. Our workaround was to add a deny acl for all users to the Java libraries that are used for the bho:

(Java 6):
C:\Program Files\Java\jre6\bin\jp2ssv.dll
C:\Program Files\Java\jre6\bin\ssv.dll

May break some applications, but worked for us with JRE6. Doing this for older versions of JRE5 did break some applications.

Related Topic