真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hyper-V性能加速之VMQ

善假于“物”——網(wǎng)卡RSS技術(shù)

創(chuàng)新互聯(lián)公司專注于吉陽企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。吉陽網(wǎng)站建設(shè)公司,為吉陽等地區(qū)提供建站服務(wù)。全流程按需開發(fā)網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

        在介紹VMQ之前,我們先來看看在傳統(tǒng)的物理服務(wù)器上,網(wǎng)卡是如何接收網(wǎng)絡(luò)數(shù)據(jù)的。在多核CPU出現(xiàn)的時(shí)候,因?yàn)榫W(wǎng)卡不支持將網(wǎng)絡(luò)流量中斷到多個(gè)邏輯核而是中斷到其中一個(gè)邏輯核進(jìn)行處理,這樣就造成CPU使用不平均以及降低了CPU處理網(wǎng)絡(luò)流量的效率,如圖1所示。

Hyper-V 性能加速之VMQ

圖1 網(wǎng)卡中斷一個(gè)CPU邏輯核接收數(shù)據(jù)

        而現(xiàn)在大部分的網(wǎng)卡都已經(jīng)支持接收端縮放(Receive SideScaling,以下簡(jiǎn)稱為RSS),物理機(jī)網(wǎng)卡如果支持多個(gè)硬件接收隊(duì)列,則會(huì)將接收的數(shù)據(jù)分發(fā)到網(wǎng)卡的多個(gè)隊(duì)列里,在具備多核的物理服務(wù)器上,通過網(wǎng)卡的RSS技術(shù)將多個(gè)隊(duì)列中斷不同的CPU邏輯核來提高數(shù)據(jù)接收效率,如圖2所示。RSS技術(shù)的目的在于為隊(duì)列找到最佳的CPU邏輯核來平衡網(wǎng)絡(luò)的CPU開銷。

Hyper-V 性能加速之VMQ

圖2 RSS隊(duì)列中斷多個(gè)CPU邏輯核接收數(shù)據(jù)

 

Hyper-V虛機(jī)隊(duì)列的工作方式

        虛擬化環(huán)境的情況比物理環(huán)境要復(fù)雜些,其一是因?yàn)槲锢頇C(jī)網(wǎng)卡發(fā)生“形變”成虛擬交換機(jī)之后網(wǎng)卡喪失了RSS功能,其二是由于物理機(jī)上運(yùn)行了若干臺(tái)虛機(jī),物理機(jī)和虛機(jī)通過相同的網(wǎng)卡接收數(shù)據(jù)包,所以需要尋求同等有效的方法來平衡網(wǎng)絡(luò)的CPU開銷,并同時(shí)保證虛機(jī)的網(wǎng)絡(luò)性能。VMQ技術(shù)因需而生,VMQ是一種特殊的隊(duì)列,采用和網(wǎng)卡硬件類似的隊(duì)列,并采用類似于RSS為隊(duì)列中斷不同的CPU邏輯核的機(jī)制。所不同的是,VMQ篩選和分配數(shù)據(jù)包與網(wǎng)卡硬件隊(duì)列的邏輯不一樣,在只有物理機(jī)的情況下,物理機(jī)的網(wǎng)卡只考慮物理機(jī)自己數(shù)據(jù)隊(duì)列,而在虛擬化環(huán)境中虛擬交換機(jī)不僅要平衡物理機(jī)的隊(duì)列還要照顧虛機(jī)的隊(duì)列。

        在介紹VMQ工作原理之前,我們先來了解虛擬交換機(jī)數(shù)據(jù)包的路由路徑,Hyper-V虛擬交換機(jī)存在兩種隊(duì)列—VMQ和默認(rèn)隊(duì)列。默認(rèn)隊(duì)列的數(shù)據(jù)先后通過虛擬交換機(jī)的路由、篩選、擴(kuò)展、訪問控制列表和轉(zhuǎn)發(fā)路徑,最后由虛機(jī)總線進(jìn)行數(shù)據(jù)分發(fā),如圖3所示。

Hyper-V 性能加速之VMQ

圖3 虛擬交換機(jī)數(shù)據(jù)轉(zhuǎn)發(fā)路徑

        VMQ隊(duì)列在分發(fā)數(shù)據(jù)給隊(duì)列之前先將虛機(jī)虛擬網(wǎng)卡的MAC地址收集起來,然后通過VMQ MAC篩選器為啟用了VMQ的虛機(jī)分配VMQ隊(duì)列,未啟用VMQ的虛機(jī)和不能匹配VMQ MAC篩選器的數(shù)據(jù)將繼續(xù)放置在默認(rèn)隊(duì)列里。VMQ隊(duì)列不像默認(rèn)隊(duì)列一樣通過完整的路由、篩選、擴(kuò)展、訪問控制列表和轉(zhuǎn)發(fā)路徑,而是“插隊(duì)”到擴(kuò)展通過更少的路由代碼發(fā)送數(shù)據(jù)給虛機(jī)總線,數(shù)據(jù)由虛機(jī)總線發(fā)送給虛擬網(wǎng)卡后,虛機(jī)使用虛擬RSS(vRSS)技術(shù)為虛擬網(wǎng)卡上的隊(duì)列中斷虛擬CPU,如圖4所示。

Hyper-V 性能加速之VMQ

圖4 VMQ隊(duì)列和默認(rèn)隊(duì)列

         從圖4中我們可以清楚地認(rèn)識(shí)到VMQ帶來的好處。如果虛機(jī)網(wǎng)卡屬性啟用了VMQ功能,虛擬交換機(jī)將繞過虛擬交換機(jī)層層路由代碼,如此一來可以保證數(shù)據(jù)能夠精確而快速地將轉(zhuǎn)發(fā)給虛機(jī),對(duì)比沒有VMQ的情況下,不但可以減少處理路由所需CPU資源占用,而且可以降低數(shù)據(jù)傳送的延遲。

        VMQ又有動(dòng)態(tài)和靜態(tài)的區(qū)分,靜態(tài)VMQ指的是VMQ隊(duì)列和中斷的CPU邏輯核關(guān)聯(lián)關(guān)系是固定的。圖4是典型的靜態(tài)VMQ,網(wǎng)卡里給虛擬1分配的VMQ隊(duì)列和邏輯CPU1關(guān)聯(lián),給虛擬2分配的VMQ隊(duì)列和邏輯CPU2關(guān)聯(lián),在虛機(jī)1和虛機(jī)2整個(gè)生命周期內(nèi)不會(huì)改變,可以認(rèn)為虛機(jī)1的數(shù)據(jù)一直由邏輯CPU1處理,而虛機(jī)2的數(shù)據(jù)一直由邏輯CPU2處理。靜態(tài)VMQ在虛機(jī)關(guān)聯(lián)的CPU繁忙時(shí)可能會(huì)導(dǎo)致虛機(jī)網(wǎng)絡(luò)處理變慢,因此從WindowsServer 2012 R2開始引入了動(dòng)態(tài)VMQ的機(jī)制,動(dòng)態(tài)VMQ更加智能,顧名思義動(dòng)態(tài)VMQ允許虛機(jī)網(wǎng)絡(luò)根據(jù)負(fù)載和其關(guān)聯(lián)的邏輯CPU進(jìn)行動(dòng)態(tài)關(guān)聯(lián)調(diào)整。如圖5所示,當(dāng)邏輯CPU2處于相對(duì)空閑狀態(tài)時(shí),虛機(jī)1和虛機(jī)2的VMQ隊(duì)列都關(guān)聯(lián)到邏輯CPU2。

Hyper-V 性能加速之VMQ

圖5 動(dòng)態(tài)VMQ

         在了解VMQ和動(dòng)態(tài)VMQ基本原理后,我們可以實(shí)際了解下網(wǎng)卡的RSS和虛擬網(wǎng)卡的vRSS默認(rèn)接收隊(duì)列數(shù)和默認(rèn)使用處理器數(shù)量信息,通過以下示例命令和結(jié)果可以顯示網(wǎng)卡的隊(duì)列數(shù)和使用的處理器數(shù),示例中的Ethernet4這塊網(wǎng)卡RSS默認(rèn)接收隊(duì)列數(shù)為8,默認(rèn)使用最多處理器數(shù)量為16。

PS C:\> Get-NetworkAdapterRss -Name  “Ethernet 4”

Name

: Ethernet  4

InterfaceDescription

: Intel Ethernet CNA X540-T2  #2

Enabled

: True

NumberOfReceiveQueues

: 8

Profile  

: NUMAStatic  

BaseProcessor:[Group:Number]  [Group:Number]  [Group:Number]  [Group:Number]

: 0

MaxProcessor:[Group:Number]【[][Group:Number]

: :

MaxProcessors 

: 16

        其中幾個(gè)重要的參數(shù)說明如下:

  • Enabled:啟用或者禁用RSS;

  • BaseProcessor:系統(tǒng)分配給網(wǎng)卡的最小處理器數(shù)量;[Group:Number] – 處理器組數(shù)量和處理器數(shù)量比。

  • MaxProcessor:分配給網(wǎng)卡的最大處理器數(shù)量;[Group:Number] - 處理器組數(shù)量和處理器數(shù)量比。

  • MaxProcessors:分配給網(wǎng)卡的處理器總數(shù)的最大值。

        我們可以通過Set-NetAdapter命令設(shè)置參與接收隊(duì)列數(shù)和RSS中斷的最大CPU數(shù)量,如下示例將網(wǎng)卡Ethernet4的RSS默認(rèn)接收隊(duì)列數(shù)為16。

PS C:\> Set-NetworkAdapterRss -Name  “Ethernet 4” -NumberOfReceiveQueues 16

Name

: Ethernet  4

InterfaceDescription

: Intel Ethernet CNA X540-T2  #2

Enabled

: True

NumberOfReceiveQueues

: 16

Profile  

: NUMAStatic  

BaseProcessor:[Group:Number]  [Group:Number]  [Group:Number]  [Group:Number]

: 0

MaxProcessor:[Group:Number]【[][Group:Number]

: :

MaxProcessors 

: 16

       虛機(jī)VMQ開啟關(guān)閉也比較簡(jiǎn)單,默認(rèn)情況下,Hyper-V虛機(jī)會(huì)啟用VMQ功能。我們可以依據(jù)虛機(jī)是否需要VMQ和實(shí)際的網(wǎng)卡性能進(jìn)行開啟或者關(guān)閉。如果虛機(jī)過多而網(wǎng)卡的VMQ隊(duì)列又不足時(shí),我們還可以適時(shí)為啟用了VMQ的虛機(jī)設(shè)置VMQ權(quán)重,權(quán)重高的虛機(jī)網(wǎng)絡(luò)數(shù)據(jù)將優(yōu)先置于VMQ隊(duì)列,反之亦然,默認(rèn)的VMQ權(quán)重是100,如下示例所示。

PS C:\> Set-NetworkAdapterRss -Name  “Ethernet 4” -NumberOfReceiveQueues 16

VMQWeight  : 100

        


當(dāng)前題目:Hyper-V性能加速之VMQ
本文鏈接:http://weahome.cn/article/jhsjij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部