我需要一些帮助来诊断一些 CPU 约束问题(我认为)。我有一个客户端,它有一个 Citrix Xenapp 场(5 个桌面服务器/9 个应用程序服务器),分布在 12 个运行 ESX4.0 的 ESX 主机上。所有 Citrix 服务器、桌面和应用程序服务器都分配有 2 个 cCPU,ESX 主机上运行的 54% 的 VM 分配有 2 个 vCPU。我们遇到的问题是,在尝试访问已发布的应用程序时,Citrix 应用程序服务器正在运行(爬行)。我个人认为这是一个多 VCPU 问题,但我想听听大家对我的发现是否正确的看法。
我的问题是 Citrix 在 ESX 上的最佳实践是什么?在 Citrix 环境中,每台服务器有多个 VCPU 是否很常见?对于 ESXTOP 读数,我应该查看 %RDY 和主机的整体性能吗?
答案1
查看以下部分绩效论文:虚拟现实检查。他们对各种终端服务器和 VDI 的配置进行了大量基准测试和测试。一般来说,Citrix 每台主机 1 个 CPU 的“旧”指导原则已不再适用。此外,4.0 中的调度比旧版本好得多,调度可能不是问题所在。%rdy 是用于监控以验证 CPU 争用的指标。我认为在 CPU 问题之前,网络性能差或磁盘性能差是先兆。
答案2
关于最佳做法的争论已经持续了一段时间,有人说 1vCPU,有人说 2+。在我看来,2 vCPU 相当不错。1 vCPU 的问题在于,登录可能会占用所有 CPU,从而影响服务器上的其他人。
您的应用服务器运行的是什么操作系统?您的 ESX 主机资源是否过度使用(如果有)?此外,访问虚拟应用服务器的虚拟桌面是否出现了问题?尝试从物理系统访问虚拟应用,看看情况是否有所改善?
如果您认为这是 CPU 调度问题,也就是说您认为虚拟机配置过多,并且虚拟机正在等待两个核心释放以执行,那么您需要监控 %rdy。我认为如果 %rdy 持续高于 500,则表示存在问题。别忘了监控磁盘延迟。
最后,您使用的是哪种 A/V?我们一开始遇到了很多性能问题,但最终都归咎于 mcafee 过度交换(某种错误)。我们改用了 MS forefront(我们本来就打算使用这种方式),很多问题都消失了。