|
在之前的ERP压力测试中我们已经发现科目余额查询是测试中响应最慢的一环,这是由于测试脚本没有对科目余额查询的运行条件进行参数化设置,则每次的余额查询都是对所有科目数据的全时长的检索。从上图可以看处,混合测试的9个功能模块大部分的响应时间在400秒以下的可接受范围之内,但科目余额查询的响应时间就出现的惊人的缓慢。
值得庆幸的是,即便有的功能模块响应时间变得很长,但系统没有依然没有出现死锁乃至宕机的情况,测试期间出现的一些错误,基本都是超时等待的错误提示,这在程序设置中重新定义等待时长就可以规避。虚拟服务器始终有惊无险的完成了长时间的测试项目。
总的来说,Hyper-V的虚拟服务器稳定性还是让人满意的。裸金属架构的虚拟技术都直接用系统处理器执行CPU指令,而涉及不到虚拟层。也就是说,Hyper-V其实是在硬件上直接运行的虚拟系统,其中运行的虚拟服务器根本不需要主操作系统。基于裸金属架构的虚拟服务器是直接支持对称多处理器技术、热插拔内存技术、冗余磁盘RAID 以及冗余电源技术等众多的硬件特性。对系统的稳定性有很大的帮助,并使系统保持一个相当高的可用性。
发现:
在性能测试和稳定性测试的过程中,我们发现了一些有意思的现象。在任务管理器中的性能监视窗口中,无论将虚拟的CPU设置为1个或者4个,运行的测试无论是50并发还是240并发,虚拟服务器CPU的占用总是保持在一个相对很高的水平上。这个现象在之前做过的物理服务器上没有出现过。也就是说,如果一套服务器系统,它的性能如果能够支撑200并发的话,当测试压力只有50的时候,其系统占用不会是在很高的位置。
这与VMware虚拟机处理性能的调度截然不同,VMware曾经公布过一个虚拟机上开展SQL2000的性能测试报告,按照该报告,VMware虚拟机的性能随着虚拟CPU的增长而线性增长。
由此我们推测,Hyper-V在调度CPU资源时,并不是按照虚拟机的虚拟CPU数量进行调度。实际上我们测试过给同一个虚拟机分配一个虚拟CPU和四个虚拟CPU,虚拟机的性能差异很小,基本上可以视为SQL 2005对不同数量处理器支持的性能差异。Hyper-V对CPU资源的调度,使同一台物理机上的虚拟机之间可以实现动态平衡,有效利用处理器资源。但是这样做的弊端将是虚拟机之间的隔离需要部署时很好的规划,否则一、两个虚拟机出现死锁这样的宕机,很可能危急整个物理机上虚拟机稳定性。(图10)。

图10 不同压力各系统资源对照
还一个有意思的现象,我们发现上面的测试中的虚拟服务器,无论它的CPU占用率有多高,在主系统的Windows2008上始终都不会体现出来。感觉上Windows2008所使用的CPU和虚拟服务器上的CPU就象是完全隔离开的一样。2007年我们做过的SWsoft的基于寄居架构的虚拟系统测试,虚拟系统的压力会直接体现在主系统之上。相对应的是,分配给虚拟服务器的物理内存则可以在主系统中表现出来,分配固定内存空间应该是出于平衡性能和稳定性的一个考虑吧。

图11 虚拟机的系统资源设置
在虚拟服务器的系统资源中,我们可以设置1、2或4个虚拟处理器,从图10可以看出来,无论赋予虚拟服务器的处理器是1个还是4个,虚拟的处理器和物理处理器其实没有任何影射对等关系。将物理硬件的空余处理能力按设置的百份比例划分给虚拟服务器,并根据各个系统不同的负载大小,弹性的变更其处理计算能力,这是Hyper-V对系统性能的动态协调特性。但当服务器中装有多个虚拟系统,如果某虚拟服务器占用的计算能力值在100%时,这仍然会大大的影响到其他系统的可用性。所以要对每个虚拟服务器进行合理的资源分配。Hyper-V对不同系统之间的资源弹性调配,可以大大提高系统的整体可用性,这也是虚拟技术最大的特点。
上一页 1 2 34 下一页
上一篇:让你的Win2008更安全 限制匿名访问 下一篇:9种方式打造安全的Win Server 2008
|