我们的 IT 部门即将使用 Citrix XenApp 部署虚拟化应用程序。
其中一个应用程序是 Dynamics AX 4.0 SP2,一个 ERP 客户端(我在其上开发)。
他们可能遇到了障碍,因为外部“Dynamics AX 顾问”告诉我们的 IT 部门,Dynamics 4 在 Citrix 上无法最佳运行,并且运行速度非常慢,因为它没有针对 Citrix 进行优化。我们现在在测试环境中运行它,看起来还不错。他们被告知唯一的“解决方案”是升级到 Dynamics AX 2009,据说这个问题已经解决了。(对我的团队来说这不是一项小任务!)
当我听说这个消息时,我非常惊讶。从我对 Citrix 的了解来看,我以为它将是独立于应用程序的。
Citrix 应用程序虚拟化如何工作,即某个特定的应用程序会比 Citrix 上的其他应用程序运行得更好?
虚拟化应用程序的速度是否不仅仅取决于 citrix 服务器拥有的资源/网络连接?
仅供参考,Dynamics AX 是一个 3 层客户端/服务器系统,因此客户端将访问 AOS 应用程序服务器,然后访问数据库。
请赐教:)
答案1
如今仍有一些应用程序供应商不愿承诺他们的应用程序将在 Citrix 或 VMware 下正常运行。在某些情况下,他们甚至知道存在一些问题。ERP 应用程序可能很难攻克,因为在很多情况下,您都是通过 VAR 获得所有安装和支持,因此您可能无法访问供应商 KB 或支持论坛。
不过,可能存在一些已知问题 - 如果应用程序执行了大量小磁盘写入之类的愚蠢操作,则可能会导致多并发桌面用户系统(如 Citrix 或 TS)出现性能问题,尤其是当您的存储系统上没有写入缓存之类的东西时。有些软件(我见过这样的 ERP 软件)假设只有一个用户可以根据需要使用所有系统资源。
因此,要求他们提供问题的证据 - 在什么条件下性能会受到影响,他们是否有尺寸指南等。您的安装可能不会成为他所声称的已知问题的牺牲品。
然而,如果这是一个真正的问题,并且您的测试平台没有产生生产负载(提取订单报告或进行月末活动的实际并发用户数量,真实的压力测试),那么您也无法很好地证明他是错的。
虚拟化应用程序的速度是否不仅仅取决于 citrix 服务器拥有的资源/网络连接?
一般来说是的,但正如我上面所说,这不仅仅是 CPU、RAM 和 LAN 带宽。还有磁盘 IO 之类的东西,以及奇怪的 Windows 东西,如会话桌面堆和 GDI 计数器,单用户系统很少会遇到这些问题。
答案2
您有什么理由相信那位顾问吗?
如果是我,我会将其部署到测试服务器上,看看性能如何。应用程序可能会做各种愚蠢的事情,导致其不适合虚拟化或远程桌面,但谁知道你的应用程序是否也这样呢?
(编辑)我看到你说你已经在测试环境中运行它了。那么,进展如何? :) 确保你对该环境的压力至少与真实环境一样大(或更多)。负载生成本身就是一门艺术,但简而言之就是:全力以赴。同时进行大量会话,做不同的事情,最好是代码驱动的。在紧要关头,让你部门的每个人都在午餐时间来到会议室,一边吃披萨(你买的)一边敲打它。
答案3
当您说“似乎还行”时,您应该确保在与最终用户类似的环境中进行测试。特别是,支持的最慢的连接。如果您的远程办公室使用 T1 并且可用网络带宽很少,那么这就是您在测试期间应该模拟的场景。
这里有一个模拟网络延迟的简单工具:
http://www.tmurgent.com/download%5CTMnetsim32_02040000.zip
我还会创建 4.0 和 2009 的性能基准,并比较两者。如果他们说的是正确的,那应该是可以衡量的。
答案4
每当有人说某个应用程序无法在 Citrix 上最佳运行,他们的意思就是该应用程序的客户端部分不是为在多用户环境中使用而设计的。通常,这类应用程序编写得不好或过时了。询问顾问该应用程序是否支持普通的旧终端服务。如果支持,那么它将在 Citrix 上运行。