VMQ助力Windows Server 2012网络提升性能

日期: 2013-02-21 来源:TechTarget中国

  虚拟机队列(VMQ)是一种硬件虚拟化技术,可用于高效地将网络通讯传输到虚拟化宿主机的操作系统。支持VMQ 的网卡可对传入的帧进行分类,并根据关联给虚拟机虚拟网卡的队列,对接收队列进行路由。这些硬件队列可适应不同的CPU,因此能够根据每个虚拟机的网卡对接收进行扩展。

  虚拟机队列(VMQ)使得宿主机的网络适配器可以绕过DMA数据包,直接参与到特定虚拟机的内存栈中。每个虚拟机的设备缓冲会分配一个VMQ,这样就避免了无谓地在虚拟交换机中进行数据包复制和路由查询。更重要的是,VMQ使得宿主机的单一网络适配器在虚拟机看来能够成为多个网络适配器,这样每个虚拟机就有了自己的专用网络适配器。这种技术可减少宿主机缓冲区中的数据,并改善I/O操作的整体性能。

  从Windows Server 2008 R2开始,管理员能够配置可被VMQ用于处理中断的处理器的数量。如果不使用VMQ,在网络通讯增加后,CPU 0可能将满载运行。在使用VMQ后,中断可以分散到更多处理器上。然而网络负载在不同时间段可能各不相同。固定数量的处理器可能并不能对所有通讯起到改善作用。Windows Server 2008 R2将网络数据包的路由与筛选工作卸载给网络适配器(通过基于硬件的接收队列启用)以降低宿主机负担。

  Windows Server 2012可用动态的方式将传入网络通讯的处理工作分散到宿主机的处理器上(根据处理器的使用情况与网络负载)。在网络负载较重时,动态VMQ可自动征用更多处理器。在网络负载较轻时,动态VMQ会释放这些处理器。

图:带VMQ 的网络I/O 路径
图:带VMQ 的网络I/O 路径

  VMQ可将网络通讯的中断分散给所有可用处理器。在Windows Server 2012中,动态VMQ功能使得系统可以通过相应的算法修改CPU与队列的相关性,而不需要删除/重建队列。这样既可获得与网络负载相匹配的处理能力,提升网络性能,可谓Windows Server 2012网络性能提升的利器!

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐