У нас есть настольное приложение Java, работающее на ферме серверов Citrix Metaframe, и его производительность, особенно при запуске приложения, очень ненадежна.
Иногда это занимает 15 секунд, а иногда и больше минуты. Это действительно непредсказуемо.
Есть ли способ оптимизировать выполнение настольных Java-приложений в сеансах Citrix Metaframe Terminal server до более надежного уровня производительности?
Есть ли какая-либо оптимизация, направленная конкретно на Java, например, предварительная загрузка JVM или что-то в этом роде?
Любая помощь будет принята с благодарностью.
Нас мучили этим несколько месяцев, начиная с января-февраля 2009 года. Группа поддержки MS наконец определила, что это было вызвано чрезмерной блокировкой реестра, исходящей от вспомогательного объекта браузера IE (BHO) для Java.
Я не думаю, что основная причина была в Java как таковой, поскольку мы не вносили никаких изменений в Java в течение долгого времени. Нашим обходным решением было добавить deny acl для всех пользователей в библиотеки Java, которые используются для bho:
(Java 6):
C: \ Program Files \ Java \ jre6 \ bin \ jp2ssv.dll
C: \ Program Files \ Java \ jre6 \ bin \ ssv.dll
Может сломать некоторые приложения, но у нас работает с JRE6. Выполнение этого для более старых версий JRE5 действительно нарушило работу некоторых приложений.
Это происходит, когда запущено только это приложение? Приложения Java обычно не имеют проблем с Citrix.
Также вы получаете такие же результаты при запуске приложения на консоли ?.