PVS让存储颤抖,系列博文之三:PVS的写缓存新技术之Win7桌面实测篇

在Hyper-V 2012 R2平台上的PVS 7.1 RAM Cache 256M方式发布的Windows 7 VDI桌面

备注:以下测试和上面的MCS环境的测试是在同一个硬件平台上完成。

  • 四核超线程CPU,32G内存,Hyper-V平台;
  • 一块专用的7200转SATA 3硬盘(带64M缓存),用户存放Windows 7虚拟机的写缓存;
  • Windows 7 X64虚拟机配置:2 vCPU,2.5G内存;
  • PVS 7.1标准镜像,RAM Cache设置为256MB(PVS在单独的主机上);
  • 用户配置文件使用UPM优化和文件夹重定向策略(用户配置文件存放在单独的主机上);

这次的测试我们直接启动11个虚拟机,这是在32GB的主机上能启动的最多数量的VM;


虚拟机数量


启动持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
读IOPS


每虚拟机写IOPS


读写比例


11个


3.5分钟


每虚拟机
536


2.5


1.4


1.1


56% / 44%

这个结果实在是太棒了!在每个虚拟机仅仅分配了256MB内存用于缓存的情况下,我们把启动风暴的IOPS要求戏剧性的减小到了2.5个IOPS。

我们以前都是知道PVS服务器可以把读的IO操作都offload到PVS服务器的内存中所以可以几乎不使用共享存储的读操作,现在从上面的结果中可以看出来Target Device的写操作基本上也可以被消除了!

我们现在来看看登录阶段。


虚拟机数量


登录持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
读IOPS


每虚拟机写IOPS


读写比例


11个


3分钟


每虚拟机
101


0.56


0.05


0.51


9% / 91%

我以每15秒钟的间隔启动了这11个会话。基本上每个会话也只花了15秒钟就完成了完整的登录过程并且启动了应用程序。从结果中可以看到我们追踪的这11个虚拟机的登录IOPS的全部持续时间大概持续了180秒钟。在这段时间中,每个虚拟机只产生了不到1个IOPS的需求!

接下去再看看稳定状态的数字吧。


虚拟机数量


会话持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
读IOPS


每虚拟机写IOPS


读写比例


11个


45分钟


每虚拟机
290


0.1


0.001


0.1


1% / 99%

这真是个很神奇的结果,基本上每个虚拟机每秒钟只产生了十分之一的IO读写。全部11个虚拟机也只产生了1.1 IOPS的需求。读的IOPS太低了,几乎可以认为是0,在整个45分钟的连续运行实践中,每分钟只产生了一个读的IO需求。

看到这里你可能会说你这仅是一个实验室的数据,在实际场景中,用户的个人配置文件不可能像上面那样优化到只有10M之少。很多时候用户都会把AppData目录放到配置文件中而不是做重定向,这么做就会显著增加启动加载的数据量,甚至超过RAM缓存的大小。基于以上的考虑,我们重新运行了一次测试,这次测试我们没有重定向AppData文件夹,而是把AppData目录放在UMP的共享目录上本地,文件夹大小在260MB,包含了6390个文件和212个目录。除此之外,就能用了UPM的Profile Streaming属性这样登录过程就会完整的等待用户配置文件被全部下载。由于我们现在是256MB的内存缓存,这个数字是小于270M的Profile的大小的,也就是说内存的大小是无法存放所有的Profile文件,再来看看到底会对结果有什么影响。

由于所有的虚拟机都是运行在Hyper-V平台上而网卡却只有100Mb的限制,所以登录过程毫无疑问会因为下载Profile文件而增加时间。从数据上看,每个用户大概会增加3:30秒来完成启动过程和启动第一次的应用程序。基于这个理由,我们设定每分钟一次的频率来登录。下面就是浮动Profile的登录和稳定状态的测试结果。


虚拟机数量


登录持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
读IOPS


每虚拟机写IOPS


读写比例


11个


16分钟


每虚拟机
4390


4.56


0.22


4.34


5% / 95%

就算是浮动Profile我们看到每个用户在启动过程也是小于5个IOPS,下面是稳定状态下的结果:


虚拟机数量


会话持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
读IOPS


每虚拟机写IOPS


读写比例


11个


45分钟


每虚拟机
2301


0.85


0.02


0.83


2% / 98%

稳定状态下的浮动Profile的结果同样比优化过的Profile的数字结果要高,但是即使如此,每个虚拟机的也仍然是小于1个IOPS。

现在我们看看在一个更高端的服务器上运行VMware得出的结果。

在vSphere 5.5平台上的PVS 7.1 RAM Cache 512MB方式发布的Windows 7 VDI桌面

备注:以下测试和上面的MCS环境的测试是在同一个硬件平台上完成。

  • 48核心的AMD CPU,512GB内存;
  • NFS LUN连接到SAN
  • vSphere 5.5
  • 150个Windows 7 X64虚拟机配置:2 vCPU,3G内存;
  • 在Windows 7虚拟机上运行了McAfee防病毒软件
  • PVS 7.1标准镜像,RAM Cache设置为512MB(PVS在单独的主机上);
  • 用户配置文件使用UPM优化和文件夹重定向策略;

测试时我们在服务器上同时启动这150个Windows 7的虚拟机。如果你做过桌面虚拟化的项目应该知道如果你想在一台服务器上同时启动这么多个虚拟机很可能会把服务器直接弄宕机,不过我们还是想试一下,让我们感到开心的事,所有150个Windows 7虚拟机在8分钟内全部连接到了XenDesktop DDC服务器上。下面就是150个虚拟机的启动测试数据:


虚拟机数量


启动持续时间


全部IO读写


每虚拟机IOPS


每虚拟机
IOPS


每虚拟机写IOPS


读写比例


150个


8分钟


每虚拟机
655


1.36


0.5


0.86


37% / 63%

对于登录过程的测试,我们配置LoginVSI每12秒钟发起一个会话。按照这个比例,所有的会话在30分钟多一点之内登录完毕,下面是测试结果:


虚拟机数量


登录持续时间


全部IO读写


每虚拟机IOPS


IOPS


IOPS


读写比例


150个


32分钟


每虚拟机
1,144


0.59


0.01


0.58


2% / 98%

最后看看稳定状态下的数据:


虚拟机数量


会话持续时间


全部IO读写


每虚拟机IOPS


IOPS


IOPS


读写比例


150个


30分钟


每虚拟机
972


0.535


0.03


0.532


1% / 99%

从上面的数据看到无论是登录过程还是稳定状态阶段,我们都能够保证每台Windows 7虚拟机的全部IOPS都要小于1。

PVS的新特性Cache in RAM with Hard Disk Overflow就是这么神奇,就算是我们只设置256MB的内存缓存,即使我们的浮动Profile体积超过了256M,结果还是那么的神奇。

那么这个特性对于XenApp来说是不是也是同样适用呢?我们也运行了几个测试在Hyper-V和vSphere上,请访问下一篇博客:PVS让存储颤抖,系列博文之四:PVS的写缓存新技术之XenApp方式实测篇

PVS让存储颤抖,系列博文之三:PVS的写缓存新技术之Win7桌面实测篇

时间: 2024-10-12 07:41:49

PVS让存储颤抖,系列博文之三:PVS的写缓存新技术之Win7桌面实测篇的相关文章

PVS让存储颤抖,系列博文之四:PVS的写缓存新技术之XenApp方式实测篇

XenApp运行环境 XenApp 6.5运行在Windows 2008 R2上 和运行VDI的测试类似,XenApp的测试方式如出一辙.LoginVSI还是设置为中等负荷,使用同样的用户帐号设置,也是同样的用户配置文件设置.不过用户配置文件我们使用的是优化了的配置文件管理.另外,XenApp虚拟机一般来说数量较少而内存较大,所以我们侧视了几种Cache in RAM with Hard Disk Overflow的大小,包括1GB.3GB以及12GB的内存,测试结果在下面. XenApp 6.

PVS让存储颤抖,系列博文之一:PVS的写缓存新技术

实现桌面虚拟化的障碍来自于哪里?你可以列举出很多因素,包括实施的复杂性,要替换掉前端PC,PC使用人员惰性对项目的抵触等等,但是更重要的是他的成本在首次购置时超出了一台PC的价格. 桌面虚拟化整体项目的成本不外乎是软件.硬件以及服务.其中软件包括虚拟化软件的License和微软相关软件的授权License,硬件一般包括服务器.存储和网络交换设备等.一般来说硬件成本占整个桌面虚拟化成本的超过60%,甚至更高.在硬件成本中存储的成本又是最高的,有统计数据表明硬件成本中超过一半是共享给了共享存储. P

PVS让存储颤抖,系列博文之五:PVS的写缓存新技术之总结篇

总结和参数推荐 从上面大量的测试结果中我们可以看出来,新的PVS的写缓存技术对于存储读写显著减少可以大量消除你去购买昂贵的SAN 存储的必要性,无论你是用于XenApp还是池化桌面都是完全适用.PVS的这个特性产生的原因其中之一就是因为它改变了I/O写入磁盘的模式.一个XenApp或者是一个VDI传统上都是发送大部分的4K大小的随机写操作到磁盘中,对于硬盘来说这是最吃力的大小,这也是为什么VDI方式对SAN产生压力的主要原因.当配置了Cache in RAM with Hard Disk Ove

PVS的写缓存新技术把虚拟桌面的IOPS需求下降99%

在过去的多年当中,硬件成本一直是VDI项目的噩梦.往往是为了达到满足Windows7/Windows Server操作系统所需要运行的最小的IOPS的需求,用户不得不去采购昂贵的存储设备,或者因为预算紧张只能忍痛割爱:即使是鼓起勇气采购桌面虚拟化也是选择小范围试点:同时很多时候,项目是和硬件一起打包招标的,这就导致虚拟化软件往往只在整体项目预算中占很小一个比例,经常是失去了话语权.而系统集成商出于各种原因往往会推荐很高档次的存储设备,而事实上即使是在PVS的新Write Cache技术出来之前,

Provisioning Services入门到精通系列之一:PVS前期规划

鉴于PVS这么强大及在企业中应用非常广泛的产品,而且网上这方面的文档也很稀少,所以将撰写ProvisioningServices入门到精通系列博文,后期再通过51CTO博客制作PVS专题,这也即将是我在51CTO博客中的第4个专题了, 另外之前的3个专题链接如下,供大家参考和学习:   Office 365实用详解 http://blog.51cto.com/zt/679 XenApp_XenDesktop7.6实战系列 http://blog.51cto.com/zt/671 XenServe

PVS写缓存容量设计和部署位置的考虑

提示:这篇文章是本人在2011年11月5日有感而写的一篇电子邮件,因为其中的内容会在即将发表的一篇新博文被引用,故重新贴于此处.由于是近三年前的内容,技术也在不断进步,其中的部分内容已经不再适合于现在,仅作了解技术发展之用. Citrix Blog经常会有一些Blog写的很有深度,适合于高手:也有一些Blog善于归纳,适合经验总结.今天看到一篇博客就属于后者,讲解PVS写缓存的容量大小设计和部署位置的考虑,供大家参考. PVS WriteCache Sizing & Considerations

Innodb物理存储结构系列2 行记录格式

前一篇讨论了Innodb system,表空间,文件的关系及数据结构,这一篇记录下Innodb行记录的格式. 前提: 1. server层和innodb层都有自己对于record的记录格式,需要进行转换. 2. 物理文件上的记录存储,需要内存中的数据结构进行对应(任何数据都需要在内存中进行处理),进行存取的转换. 1. 测试case: create table `pp` ( `id` int(11) default null, `name1` varchar(100) default null,

Innodb物理存储结构系列1

本篇先介绍 下Innodb表空间,文件相关的内存数据结构. 1. 数据结构 Innodb的tablespace和文件的关系,是一对多的关系,先来看三个结构体 1. fil_system_struct: 表示Innodb的表空间内存cache,innodb一共包括两类tablespace,即 #define FIL_TABLESPACE 501 /*!< tablespace */ #define FIL_LOG 502 /*!< redo log */ 而fil_tablespace有包括了两

Android 软件开发与游戏开发1 至 32系列博文大合集

Android 软件开发与游戏开发1 至 32系列博文大合集Android 软件开发与游戏开发1 至 32系列博文大合集 http://www.qdmm.com/BookReader/17958,65822595.aspxhttp://www.qdmm.com/BookReader/17958,65822597.aspxhttp://www.qdmm.com/BookReader/17958,65822598.aspxhttp://www.qdmm.com/BookReader/17958,65