上一期我们谈到了如何正确配置Citrix Profile Management 以及 Folder Redirection使之可以适应各种规模的企业。在这一期讲座中,我将主要谈一下为Citrix Profile Management 和 Folder Redirection所配置的后台文件服务器或者是NAS设备上所需要的IOPS和网络带宽问题,希望能为你将来在规划单个文件服务器或者是NAS设备上能承载多少个用户提供帮助。
当然,必须首先指出的是我这里只是提出一个建议,并非一个固定值,就好象我可以推荐一在一台二路六核的服务器上运行40个VM,但是如果是研发用户的使用场景,也有可能只能运行30个VM。同样道理,我这里所说的一些结论和数据都需要你根据实际场景来进行调整。
当然,为了让我的结论更有说服力,我在实验环境中用不同的方法做了两个测试,同时又在另外一个实际的XenDesktop环境中进行实际数据捕获,以得到一个更精确的结果。
文件服务器的性能和扩展性
在我们开始具体计算Citrix Profile Management 和 Folder Redirection需要多少后台资源之前,首先看看有哪些因素可能会影响到后台的性能。这其中包括了:
1. 物理存储设备能提供多少IOPS:
a) 多少块磁盘?
b) 使用了什么RAID设置(RAID1,5,0,10?)
c) RAID控制器的缓存有多大? 是如何配置的?
d) 有没有配置写优化?例如分层存储,SSD存储?
2. 提供给CIFS的读缓存有多大的RAM?
3. 网络适配器的速度是多少?
4. CPU配置情况如何?
5. 正在使用哪一个版本的CIFS/SMB,1.0?2.0?还是2.1?
6. CIFS协议有没有调优过?
有关CIFS调优的方法,可以参考Citrix Blog的文章:
http://blogs.citrix.com/2010/10/21/smb-tuning-for-xenapp-and-file-servers-on-windows-server-2008/
如果你使用的是Windows 2008 R2操作系统的文件服务器或者Cluster(无关是物理的还是虚拟的),请至少以下面为最低条件来配置:
1. 文件服务器至少是32G内存(最好是64G)
2. 文件服务器至少是2个core/vCPU(建议配置4个或更高配置);
3. 按照上面CIFS调优的建议完成所有关于SMB的调优建议;
4. 如果是本地存储(虽然最好是别这样。。。),至少也要配置15k转的SAS硬盘,以及RAID卡。
如果你的NAS设备是从NetApp或者是EMC购买的,那就谢天谢地,至少我不用担心CPU、内存以及RAID的设置和是否经过优化了。不过,即使是NAS设备,我建议还是要去验证一下CIFS的版本号,至少要支持SMB2,而且正确调优过。
正如我刚才所提出的建议,有很多因素决定了文件服务器的性能。但是我这篇讲座不想去就如何文件服务器的存储系统的调优和设计,而会集中在以下两个方面去讨论:
A. 每个用户的需要多少个IOPS,以及读写的比例各是多少?
B. 每个用户需要多大的网络带宽?
当然,上述议题的前提是你已经按照我的第一篇讲座所要求的那样去正确配置了Citrix Profile Management 和 Folder Redirection的设置,在这个基础之上我们才有可能计算出来准确的IOPS和网络带宽数值。
需要多少IOPS呢?
我相信你更加关心的是Profile 和 Folder Redirection所需要的IOPS该如何计算。所以我准备通过三个途径去获得这个数据:
一.我自己的桌面需要多少IOPS
二.使用LoginVSI自动化脚本计算出来的中等负荷的IOSP
三.在一个真实场景中需要多少IOPS和网络带宽
再次强调一点,我计算的是文件服务器上的IOPS,不是VM的C盘上的IOPS。J
一.我自己的桌面需要多少IOPS
在第一个场景中,首先我们来看看我自己的虚拟桌面的IOPS的使用情况。在我的桌面设置中,我将我的所有的目录、Profile,以及我的个人文件夹都重定向到了一个专门的主机上。这个服务器除了为我提供服务以外不作任何其他事情,这样以便于我们追踪到底Profile和文件夹重定向需要多少IOPS。
我运行了64分钟,在此期间,我打开了所有的我平时使用的应用程序,并且尽可能的去执行操作。在这64分钟内,我没有停过,始终保持工作状态。一边运行更多的程序,执行更多的操作。其实我这么做很明显比大家平时的操作占用了更多的资源。但是我相信这样做能最大程度的模拟在负荷最重的情况下这些常用软件所能产生的后台开销。顺便说一下,在测试之前,我把所有系统都重启过一次,以保证我要测试的应用程序和数据都没有驻留在内存中。
我做了以下的操作:
1. 登录Windows以后立即打开Windows Media Player,开始从我的文档文件夹中播放MP3,并且持续整个测试时间段;
2. 打开Internet Explorer 和 Firefox,然后打开一些常见的页面,例如新浪网、网易等。,然后将这些页面保持到测试结束。在测试的64分钟内,我不停的将页面切换到Internet Explorer 和 Firefox打开的不同Tab页面,并且执行上下滚动操作。
3. 打开腾讯QQ,并且保持在线状态;
4. 打开Outlook,并连接到我公司自己的Citrix Exchange Server。当前我的OST文件是1.3GB大小,同时Outlook设置为缓存模式,另外还有一个1.7G大小的PST文件;
5. 发送和接收邮件,像正常那样;
6. 从收件箱中打开邮件,正常操作,创建日历等等;
7. 从pst文件按中打开电子邮件;
8. 将收件箱中的邮件清理到pst文件中;
9. 清空Deleted items,原来这里有三千多封以#Support开头的邮件(Citrite你懂的。。。);
10. 关闭Outlook,然后通过我的个人邮件帐户使用MAPI的Profile运行Outlook两次,我的个人邮件帐户有超过1G的pst文件;
11. 打印几封邮件到pdf格式,然后保存到我的文档中;
12. 在检查了我的个人邮箱后,再次打开公司的Outlook,连接到 公司的Exchange MAPI Profile;
13. Outlook保持打开状态,并且时不时用一下;
14. 从我的文档中打开然后编辑几个Excel文件;
15. 从我的文档中打开然后编辑几个Word文件;
16. 从ShareFile中下载一个108M大小的视频文件到我的文档中;
17. 从Outlook中保存一个6M大小的PPT文件到我的文档,然后打开它;
18. 注销Windows系统;
下面的表格列出来了保存了“我的Profile、重定向的文件夹以及我的文档目录”的磁盘上的IOPS的使用情况:
平均总IOPS |
平均读IOPS |
平均写IOPS |
最大读IOPS |
最大写IOPS |
5.7 |
3.1 |
2.6 |
189 |
36 |
保存我的“Profile、重定向的文件夹以及我的文档目录”的磁盘是一块单个的SATA 7200转磁盘,在测试的时候只运行了我的测试系统。因此,所有的IOPS可以认为是全部是我的操作所产生。最后的结果可以看到是总计 5.7个IOPS,读写比例是55:45。
在对我的行为作了更细节的分析之后,我找到了我的操作中产生的大部分的IOPS都是来自于Outlook,因为Outlook不断的读和写到我的离线缓存文件(outlook ost文件)以及我的pst文件中。
二.使用LoginVSI自动化脚本计算出来的中等负荷的IOSP
在我的第二个测试中,我决定使用LoginVSI这个工具来测试。如果你还不熟悉LoginVSI,你可以参考一下我在2011年6月13日早上发给你的一封邮件,标题是《如何进行 XenDesktop 5 的压力测试?》 。
LoginVSI是一家叫做Login Consultants开发出来的测试工具。他们公司的主页是:http://www.loginvsi.com/
还是和第一个场景一样,我把共享目录都放在这个文件服务器上,所有I/O操作都是在这个服务器上完成的。包括我的“Profile、重定向的文件夹以及我的文档目录”。
我选择了中等负荷的压力,由该压力测试软件执行了15分钟的中等压力测试脚本,该脚本包含了一下内容:
1. 登录Windows;
2. 打开使用pst的Outlook;
3. 打开、创建和编辑Word文档;
4. 打开、创建和编辑Excel文档;
5. 打开、创建和编辑PPT文档;
6. 打开IE浏览器;
7. 打开Flash和多媒体文件;
8. 注销Windows;
测试持续了15分钟,包含了3个测试帐号,每个帐号都执行了完整的中等负荷测试脚本,下面的表格显示了三个用户后的平均IOPS结果:
平均总IOPS |
平均读IOPS |
平均写IOPS |
最大读IOPS |
最大写IOPS |
7.2 |
3.5 |
3.7 |
127 |
57 |
下一个表格显示的是文件服务器上的网络使用情况,该文件服务器是安装了一块千兆网卡:
平均 RX Mbps |
平均 TX Mbps |
最大 RX Mbps |
最大 TX Mbps |
0.48 Mbps |
1.14 Mbps |
20.75 Mbps |
26.99 Mbps |
当我们在查看网络利用率的时候,很重要一点是主要网卡其实是工作在全双工模式下。对于我使用的这张千兆网卡来说,它可以同时发送和接受1 Gb的数据,由于我们限制在任何的单向上的最大速度1 Gig,所以我们从任何的单向上只取最高值,并且用这个值来决定我们的每用户平均带宽。基于上述的测试,每用户平均的IOPS和网络带宽应该是如下表所示:
平均总IOPS |
读/写比例 |
平均网络带宽 |
2.4 |
49/51% |
0.36 Mbps |
本文出自 “虚拟化技术” 博客,谢绝转载!