存储读缓存
读取缓存可以改进 虚拟机的磁盘性能,因为首次从外部磁盘读取后,数据将缓存在主机的可用内存中。在单一基础 虚拟机上克隆多个 虚拟机的情况下,读取缓存可以提高性能,因为读取缓存将明显减少从磁盘读取的块数量。例如,在 Citrix虚拟桌面环境 机器创建服务(MCS)环境中。
无论何时从磁盘多次读取数据,都可以看到这种性能改进,因为数据缓存在内存中。此变更是在繁重 输入输出情况下发生的最明显的服务降级。例如,在以下情况下:
- 大量最终用户在短时间内启动时(启动高峰)
- 安排大量 虚拟机同时运行恶意软件扫描时(防病毒高峰)。
当您具有恰当的许可证类型时,默认启用读取缓存。
注意:
存储读取缓存适用于 Citrix虚拟机监控程序高级版客户。
存储读取缓存适用于通过 Citrix虚拟应用程序和台式机授权访问 Citrix虚拟机监控程序的客户。
启用和禁用读取缓存
对于基于文件的 高级例如 NFS和 EXT3/EXT4 SR类型,读取缓存在默认情况下启用。读取缓存对所有其他 SR禁用。
要使用 xe CLI对特定 SR禁用读取缓存,请运行以下命令:
xe sr param set uuid=sr uuid其他配置:o_direct=true<!--NeedCopy-->
要使用 至心禁用特定 SR的读取缓存,请转到该 SR的属性对话框。在读取缓存选项卡中,可以选择启用或禁用读取缓存。
有关详细信息,请参阅更改 SR属性。
限制
读取缓存仅适用于 NFS和 EXT3/EXT4高级它不适用于其他 SR类型。
读取缓存仅适用于只读 VDI和 VDI父对象。这些 VDI存在于从“快速克隆”或磁盘快照创建 虚拟机的位置。从单一“黄金”映像克隆 虚拟机时,将看到最显著的性能改进。
性能改进取决于主机控制域 (dom0)中的可用内存量。增加 dom0的内存量将允许为读取缓存分配更多内存。有关如何配置 dom0内存的信息,请参阅CTX134951。
与 智能缓存比较
智能缓存和基于内存的读取缓存在某种程度上互为补充。智能缓存不仅缓存在不同层上,还缓存写入和读取。智能缓存将读取的数据从网络缓存到本地磁盘。内存中读取缓存将读取的数据从网络或磁盘缓存到主机内存。内存中读取缓存的优势是,内存仍然比固态磁盘 (SSD)快一个数量级。启动高峰和其他繁重 输入输出情况下的性能会得以改进。
可以同时启用读取缓存和 智能缓存在这种情况下,智能缓存将读取的数据从网络缓存到本地磁盘。从该本地磁盘读取的数据通过读取缓存缓存在内存中。
设置读取缓存大小
通过为 Citrix虚拟机监控程序的控制域 (dom0)分配更多的内存,可以优化读取缓存性能。
重要:
为实现优化,请逐一在池中的所有主机上设置读取缓存大小。此外,还必须在池中的所有主机上设置读取缓存大小的任何后续更改。
在 Citrix虚拟机监控程序服务器上,打开本地 壳以 根用户身份登录。
要设置读取缓存的大小,请运行以下命令:
/opt/xensource/libexec/xen cmdline--设置xen dom0_mem=nnM,最大值:nnM<!--NeedCopy-->
将初始值和最大值设置为相同的值。例如,将 dom0内存设置为 2048 MiB:
/opt/xensource/libexec/xen cmdline——设置xen dom0_mem=20480M,最大值:20480M<--需要复制-->
重要:
在更改读取缓存大小后重新启动所有主机。
如何查看当前的 dom0内存分配?
要查看当前的 dom0内存设置,请输入:
免费-m<!--NeedCopy-->
自由-m
的输出显示当前的 dom0内存设置。由于各种开销,该值可能低于预期。以下示例表显示主机输出,dom0设为 2.6 GiB
||总计|已用|免费|共享|缓冲区/缓存|可用| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 124
可以使用的值范围是什么?
因为 Citrix虚拟机监控程序控制域 (dom0)是 64位的,所以可以使用较大值,例如 32768 MiB但是,我们建议您不要将 dom0内存减少到 1吉布以下。
至心显示说明
可以将整个主机的内存视为由 Xen虚拟机管理程序、dom0、VM和可用内存组成。尽管 dom0和 虚拟机的内存大小通常是固定的,但 Xen虚拟机管理程序使用可变的内存量。使用的内存量取决于多种因素。这些因素包括任意时间主机上正在运行的 虚拟机的数量以及配置这些 虚拟机的方式。无法限制 Xen使用的内存量。限制内存量会导致 Xen内存不足,并阻止新 虚拟机启动,即使主机有可用内存亦如此。
要查看分配给主机的内存,在 至心中选择主机,然后单击内存选项卡。
Citrix虚拟机监控程序字段显示分配给 dom0的内存与Xen内存的总和。因此,显示的内存量可能高于管理员指定的内存量。启动和停止 虚拟机时内存大小有所差别,即使管理员为 dom0了设置了固定大小亦如此。