虚拟环境下的sql server资源共用


摘要:
在研究虚拟化受欢迎程度的一些原因时,
前面几节指出了虚拟化资源共用,能更好地使用服务器中以前未充分利用的物理资源的能力,以减少部署的物理服务器的总数。
为了讨论的目的,我们可以将共用资源从以下两个方面分析:共用资源优点和共用资源缺点。



共用资源优点

共用资源的优点非常明显:
它能减少了部署和维护物理服务器资源所花费的时间和金钱。
例:如果6台单CPU物理服务器的平均CPU利用率为10%,并且它们都没有并发的CPU使用高峰期,那么我觉得可以将这6台服务器虚拟化,并将它们作为一台带有单个CPU的单台服务器运行 – 逻辑为6×10%= 60%,因此小于具有单个CPU的单个服务器的容量。
我想确保所有6个虚拟服务器都有足够的物理内存和存储系统性能,但最终的好处是能够退出5台物理服务器。
————————————————
通常CPU的使用率,可以很好的反映系统的利用率的重要指标之一。
当内存最大值可以满足6个应用的使用,我们将6个sql server应用分别部署在虚拟机中,可以使物理机达到最高的利用率。 

共用资源缺点

并非所有共用资源都很好。
除非你计划得好,否则你可能会有较差的资源共用。
要了解错误的资源共用情况,
例:
CPU利用率:将6台平均CPU利用率值为10%的服务器合并到单台CPU主机服务器上。这导致主机服务器的平均CPU利用率约为60%。
假如其中两台虚拟服务器的平均CPU利用率从10%跳至40%。结果,总的CPU 需求已经从60%增加到120%。当然,总CPU利用率不能达到120%。
当出现这种情况时,虚拟机管理程序会通过内部调度使总利用率看似达到120%。
例,如果实际上只有100%可用,它如何看起来像CPU使用率为120%?
缺失资源从哪里来?虚拟机管理程序使用资源共享,调度和时间片化等行为来使每个虚拟服务器看起来完全可以访问它始终分配的物理资源。
不过,管理程序正在忙于管理资源请求队列 –
例如,“暂停”虚拟服务器,直到他们获得所需的CPU时间,或者在管理程序等待其他资源时抢占物理内核上的多个请求他们需要变得可用。
此资源共用影响虚拟服务器的性能取决于您使用的虚拟机管理程序的工作方式。
在使用VMware的最坏情况下,如果与少数虚拟CPU一起运行的虚拟服务器一起运行,具有大量虚拟CPU的虚拟服务器可能会受到显着影响; 这是由于VMware使用其共同调度算法来处理CPU调度。
在最糟糕的情况下,可能会在等待足够的物理CPU资源时看到较大的虚拟服务器发生多秒暂停,这不仅表明应该对部署虚拟服务器给予足够重视,还会说明您的知识类型如果你打算使用大量使用的虚拟环境,应该有。
虽然VMware可以如何影响性能的例子是一个极端的例子,但它确实表明了不好的争用会带来不可预知的延迟。
以前,在具有无竞争资源的主机服务器上,您可以有效地假定任何虚拟服务器对资源的请求都可以立即实现,因为所需的资源量始终可用。
但是,当管理程序必须管理争用时,会引入访问资源的时间惩罚。实际上,虚拟服务器对物理资源的“直接”访问不能再被假定。
“直接”是用引号引起的,因为虽然虚拟服务器从不直接为自己分配他们在无人参与的情况下使用的物理资源,但管理程序并不难于查找所需的CPU时间和内存资源; DBA可以知道由虚拟化引起的任何性能损失可能很小,但最重要的是一致的。然而,在竞争环境中,其他虚拟服务器的资源需求现在有能力影响其他虚拟服务器的性能,并且变得不可预测。