VDI环境中的并发需求引起的性能问题 虚拟化
在VDI环境中最常见的问题之一就是需求的集中触发,对于管理员来说,也可以采取适当的方式以尽量减少需求高峰对性能的影响。
虚拟桌面运行在共享的硬件上,所以重负载用户活动期间将加重硬件的负担,而且会对虚拟桌面基础架构(VDI)的性能造成影响。通常,没有办法来阻止VDI环境的需求高峰。启动风暴、恶意软件扫描和内存不足,都可能导致需求激增,但减轻高峰时的性能影响是可能的。预加载桌面,将页面文件放置在独立的虚拟硬盘上,并使用增量扫描都可以缓和对性能的影响,但最有效的办法是有效地利用现有的硬件。
预加载虚拟桌面
当用户早晨上班时,大量的虚拟桌面会在一个较短的时间内集中启动,这将导致启动风暴。避免启动风暴最简单的方法是运行一个计划任务,在用户到达办公室前自动完成大部分虚拟桌面的启动。预加载桌面并没有真正消除启动风暴的影响;它只是将启动风暴发生在用户到达之前,而且在这期间网络也不是很繁忙。因为没有人在办公室里,所以没有人看到由于集中的需求处理而造成的VDI性能问题。
不要禁用Windows页面文件
管理员有时会犯一个错误,就是禁用Windows操作系统的页面文件,以减少虚拟桌面的I/O负载。这项技术背后的基本核心思想是,禁用页面文件可以防止Windows依托虚拟内存,因为它不但比物理内存要慢,而且需要存储I/O。
禁用页面文件的弊端是Windows的页面文件其实是系统的设计使然。如果虚拟桌面的内存已经没有空余,而且没有页面文件可用,那么Windows操作系统很快就会变得不稳定。系统管理员应该考虑的不是禁用页面文件,而是将虚拟桌面的页面文件放置在专用的LUN。这样一来,页面文件相关的存储I/O将与虚拟桌面操作系统或应用程序使用的磁盘相隔离,再也不必担心对存储性能产生影响。
执行恶意软件增量扫描
恶意软件扫描也会导致需求大量并发,因为在计划的时间进行恶意软件扫描会产生大量的读I/O。有许多不同的方法可以应对恶意软件扫描产生的大量开销,一个特别有效的方法就是使用能够进行恶意软件增量扫描的产品。
增量恶意软件扫描背后的思想是,对于系统中已扫描过的未修改的数据不需要重复扫描。这类软件会跟踪系统的写操作,并且只针对上次未进行扫描或已修改的文件或文件夹进行扫描。这种方法大大降低了参与扫描恶意软件的系统开销。
减少登录风暴
登录风暴是许多用户在同一时间同时进行系统登录的结果。不同于启动风暴,管理员无法通过预加载桌面来防止登录风暴。减少登录风暴的影响,最好的办法是提供最好的验证服务。
一种方式是将VDI主机服务器和域控制器连接在同一个物理交换机上。为两者之间提供直接,高速的网络连接可以帮助提高登录性能,当然也可以在域控制器服务器上使用固态硬盘(SSD)来提高I/O性能。
不要吝啬内存
服务器硬件都比较昂贵,所以对于管理员来说,他们压力很大,必然尽可能提高虚拟桌面的密度。通常情况下该密度是通过最大限度地减少分配给虚拟桌面的物理内存数量来实现的,但在内存上过于节省往往适得其反。正如前面提到的,Windows的页面文件是作为弥补物理内存不足的一种方式,但页面文件的使用将会降低性能并产生更大的I/O负载,因此配备足够的内存是非常重要的。
为虚拟桌面配置足够内存的重要性被经常被忽视的另一个原因是,因为Windows Vista和更高版本的Windows操作系统都有SuperFetch功能(在Windows XP中被称为PreFetcher)。SuperFetch设计用来将文件缓存到内存,从而提高系统的启动时间和应用程序的加载时间。例如,SuperFetch会缓存最常用的应用程序的二进制文件,从而使这些应用程序尽可能快地加载。但是,如果一个虚拟桌面运行在SSD上,那么最好是在组策略级别禁用prefetch。根据一些基线测试的结果,如果桌面操作系统和应用程序文件都放置在一个固态硬盘上,SuperFetch能提供的性能提升几乎为零。