![在 Citrix Metaframe 上运行 Java 桌面应用程序时出现性能问题](https://linux22.com/image/490105/%E5%9C%A8%20Citrix%20Metaframe%20%E4%B8%8A%E8%BF%90%E8%A1%8C%20Java%20%E6%A1%8C%E9%9D%A2%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%97%B6%E5%87%BA%E7%8E%B0%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98.png)
我们在 Citrix Metaframe 服务器场中运行一个桌面 Java 应用程序,其性能(特别是在启动应用程序时)非常不可靠。
有时候需要 15 秒,有时候则需要一分钟以上。这真的很难预测。
有没有办法优化 Citrix Metaframe 终端服务器会话中运行的 Java 桌面应用程序,使其达到更可靠的性能水平?
是否有专门针对 Java 的优化,例如预加载 JVM 或类似的东西?
任何帮助将不胜感激。
答案1
从 2009 年 1 月至 2 月开始,我们被这个问题困扰了好几个月。MS 支持团队最终确定这是由过多的注册表锁定引起的,源自 Java 的 IE 浏览器辅助对象 (BHO)。
我不认为根本原因在于 Java 本身,因为我们很长时间没有对 Java 进行任何更改。我们的解决方法是向用于 bho 的 Java 库添加针对所有用户的拒绝 acl:
(Java 6):
C:\Program Files\Java\jre6\bin\jp2ssv.dll
C:\Program Files\Java\jre6\bin\ssv.dll
可能会破坏某些应用程序,但对于我们来说,使用 JRE6 是可行的。对旧版本的 JRE5 执行此操作确实会破坏某些应用程序。
答案2
当这是唯一正在运行的应用程序时会发生这种情况吗?Java 应用程序通常不会对 Citrix 产生任何问题。
在控制台启动应用程序时您是否也得到相同的结果?