版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 VMware vSphere 性能優(yōu)化設(shè)計(jì)經(jīng)驗(yàn) 本文包括兩部分:第一部分“VMware vSphere 性能優(yōu)化設(shè)計(jì)經(jīng)驗(yàn)分享”介紹如何對(duì)VMware vSphere架構(gòu)的CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)及虛擬機(jī)進(jìn)行性能調(diào)優(yōu),主要集中在物理層面的優(yōu)化。第二部分“VMware vSphere 性能優(yōu)化方法”包括vSphere 性能優(yōu)化邏輯、針對(duì) VM 的性能優(yōu)化、針對(duì) CPU 的性能優(yōu)化、針對(duì) RAM 的性能優(yōu)化、針對(duì) DISK 的性能優(yōu)化、針對(duì) Networking 的性能優(yōu)化。前言本文主要介紹如何對(duì)VMware vSphere架構(gòu)的CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)及虛擬機(jī)進(jìn)行性能調(diào)優(yōu)。將貫穿觀念中那些有性能
2、限制的領(lǐng)域,打消虛擬化和性能相悖的舊觀念,最重要的是通過(guò)一個(gè)個(gè)小的案例展現(xiàn)如何在虛擬化環(huán)境中實(shí)現(xiàn)性能調(diào)優(yōu),讓虛擬化技術(shù)發(fā)揮其最大優(yōu)勢(shì),助力業(yè)務(wù)提升效率,按需擴(kuò)展,靈活多變。CPU性能優(yōu)化CPU資源的分配對(duì)于保證虛擬化環(huán)境的最佳性能很重要。現(xiàn)在的處理器一般為每個(gè)進(jìn)程都配比了多核處理器,還提供了多種技術(shù)幫助提高虛擬化環(huán)境的性能,比如Intel-VT和AMD-V等硬件虛擬化及加速技術(shù)。CPU虛擬化技術(shù)使得虛擬機(jī)可以直接在物理處理器上執(zhí)行大多數(shù)的指令,可以使多個(gè)虛擬機(jī)一起運(yùn)行來(lái)直接訪問(wèn)一個(gè)物理處理器。物理CPU與虛擬CPU之間的關(guān)系在做CPU性能優(yōu)化前,理解什么是物理CPU?什么是虛擬CPU?是個(gè)很重
3、要的前提。目前幾乎所有的處理器,無(wú)論X86架構(gòu)還是Power架構(gòu),對(duì)每一個(gè)封裝都有多個(gè)物理處理器內(nèi)核。一般規(guī)格為4、6、8、12核,有的甚至更多。在VMware ESXi中,每一個(gè)物理處理內(nèi)核被檢測(cè)為一個(gè)物理CPU,如果Intel處理器上有超線程,那么每個(gè)物理處理器內(nèi)核都會(huì)有兩個(gè)硬件線程,ESXi就能檢測(cè)到每個(gè)線程作為一個(gè)物理CPU。虛擬CPU是針對(duì)虛擬機(jī)上的CPU而言,每個(gè)虛擬機(jī)至少配置一個(gè)虛擬CPU。VMM調(diào)度每個(gè)虛擬CPU在任何可用的物理CPU上運(yùn)行,可以定義任何虛擬機(jī)在給定時(shí)間內(nèi)可以同時(shí)訪問(wèn)的物理CPU的數(shù)量。ESXi CPU如何工作VMware vSphere ESXi中的CPU通過(guò)
4、復(fù)雜的調(diào)度算法接收和執(zhí)行用戶及外界的指令,按照設(shè)定好的策略依次執(zhí)行,下面將介紹一下ESXi中CPU的幾個(gè)主要的動(dòng)作。CPU的比例分配算法:當(dāng)發(fā)生在多個(gè)虛擬機(jī)之間競(jìng)爭(zhēng)資源的時(shí),ESXi則使用比例分配算法來(lái)決定哪一個(gè)虛擬機(jī)應(yīng)該使用更多的CPU和內(nèi)存資源。比例分配算法可以讓VMware ESXi調(diào)度程序通過(guò)將每個(gè)執(zhí)行語(yǔ)境在可用物理處理器資源的一個(gè)共享相關(guān)聯(lián),從而進(jìn)行重要的調(diào)度計(jì)算。根據(jù)資源配置標(biāo)準(zhǔn),如分享、保留、限制,所計(jì)算出的分享權(quán)益會(huì)被分配到每個(gè)執(zhí)行語(yǔ)境上。CPU聯(lián)合調(diào)度:我們常見(jiàn)的聯(lián)合調(diào)度分為嚴(yán)格聯(lián)合調(diào)度和寬松聯(lián)合調(diào)度。這種嚴(yán)格聯(lián)合調(diào)度主要出現(xiàn)在VMware ESXi的早期版本中,當(dāng)執(zhí)行聯(lián)合調(diào)
5、度時(shí),CPU調(diào)度程序在多處理器虛擬機(jī)的每個(gè)微CPU上會(huì)有一個(gè)累積的偏移。當(dāng)一個(gè)單進(jìn)程應(yīng)用在多處理器的虛擬機(jī)上運(yùn)行時(shí),只有一個(gè)微CPU在物理處理上運(yùn)行,而其他的微CPU都處于閑置狀態(tài),因此,只需要要求一個(gè)物理CPU可用就可以了。寬松聯(lián)合調(diào)度主要出現(xiàn)在VMware ESXi5版本以后,使得每個(gè)虛擬機(jī)上的每個(gè)微CPU進(jìn)程都可以被單獨(dú)追蹤,偏移值是通過(guò)測(cè)量最慢的微CPU和其他每個(gè)微CPU之間的差異得到的。ESXi的CPU性能調(diào)優(yōu)眾所周知,VMware是虛擬化領(lǐng)域的領(lǐng)頭羊,其為ESXi虛擬化層提供的默認(rèn)設(shè)置在性能方面可以滿足大多數(shù)企業(yè)的應(yīng)用場(chǎng)景和需求。對(duì)于更嚴(yán)苛的業(yè)務(wù)需求,采用默認(rèn)設(shè)置可能會(huì)影響虛擬化發(fā)
6、揮其最大的優(yōu)勢(shì)。如何調(diào)優(yōu),就成了管理員必備的要求。CPU性能如何診斷?哪些指標(biāo)是性能調(diào)優(yōu)最在意的?可以幫管理員盡快定位問(wèn)?VMware在眾多管理指令中提供了一個(gè)名為ESXtop的命令。通過(guò)輸出結(jié)果可以清晰的看到CPU等相關(guān)的性能問(wèn)題。管理員通過(guò)root身份登陸ESXi服務(wù)器,并輸入C切換到CPU的分析界面。除了CPU可以監(jiān)控CPU之外,也可以對(duì)內(nèi)存、網(wǎng)絡(luò)等性能進(jìn)行觀察。具體的使用方法,不在此文的討論范圍內(nèi)。表1:VMware esxtop CPU性能指標(biāo)表內(nèi)存性能優(yōu)化內(nèi)存的運(yùn)算速度要比硬盤(pán)快很多,所以通常情況下,內(nèi)存越大,服務(wù)器的應(yīng)用速度較快。所有ESXi作為VM的載體,必然需要大內(nèi)存的支持。
7、那么在進(jìn)行內(nèi)存性能講解之前,先介紹一些ESXi中內(nèi)存的分層。虛擬主機(jī)的物理內(nèi)存這個(gè)是指實(shí)際物理主機(jī)的物理內(nèi)存,比如一臺(tái)物理內(nèi)存微256G的服務(wù)器,那么其實(shí)際物理內(nèi)存就是256G;虛擬機(jī)的物理內(nèi)存這個(gè)是指管理員實(shí)際分配給虛擬機(jī)使用的內(nèi)存,可以被虛擬機(jī)直接調(diào)用的內(nèi)存,僅僅對(duì)分配的虛擬機(jī)可見(jiàn);虛擬機(jī)的虛擬內(nèi)存這個(gè)是指虛擬機(jī)操作系統(tǒng)分配給應(yīng)用程序的可用內(nèi)存,這是虛擬機(jī)操作系統(tǒng)映射到虛擬機(jī)物理內(nèi)存的地址空間;ESXi內(nèi)存如何工作那么ESXi虛擬化軟件是如何管理硬件的物理內(nèi)存的呢?使其可以同時(shí)運(yùn)行多個(gè)虛擬機(jī),并且內(nèi)存之間相互隔離,保證數(shù)據(jù)的穩(wěn)定性和可靠性。首先ESXi會(huì)將所有的物理內(nèi)存虛擬化,為其上運(yùn)行的
8、不同的虛擬機(jī)創(chuàng)建一個(gè)個(gè)連續(xù)的虛擬內(nèi)存地址空間。這些內(nèi)存地址空間映射到虛擬機(jī)的物理內(nèi)存,形成不同的內(nèi)存空間。內(nèi)存空間之間相互隔離,確保虛擬機(jī)內(nèi)容的獨(dú)立性和安全性。所有物理內(nèi)存的分配調(diào)用,都需要ESXi來(lái)進(jìn)行管理。特別需要注意的是,在向虛擬機(jī)分配物理內(nèi)存前,ESXi管理程序會(huì)將主機(jī)物理內(nèi)存置零,避免主機(jī)上不同虛擬機(jī)之間的信息泄漏,引起頁(yè)面錯(cuò)誤。內(nèi)存回收虛擬化中的內(nèi)存回收是個(gè)很專業(yè)的話題,技術(shù)難度也很高,目前僅有VMware實(shí)現(xiàn)了內(nèi)存過(guò)量功能的管理。為了實(shí)現(xiàn)內(nèi)存的回收,VMware主要通過(guò)以下幾種方式進(jìn)行,不同的環(huán)境采用不提供的方式,避免性能出現(xiàn)瓶頸,影響虛擬機(jī)的正常運(yùn)行。透明頁(yè)共享透明頁(yè)共享(TP
9、S)是主機(jī)物理內(nèi)存回收的一種簡(jiǎn)單而有效的方式。原理是將相同鏡像或者應(yīng)用的內(nèi)存冗余頁(yè)做成單一的共享頁(yè)面,只保留一個(gè)內(nèi)存頁(yè)的副本。因此,虛擬機(jī)主機(jī)內(nèi)存占用總量減小,可以提供更多的內(nèi)存給不同頁(yè)面的虛擬機(jī),從而也實(shí)現(xiàn)了內(nèi)存過(guò)量。內(nèi)存膨脹為了實(shí)現(xiàn)內(nèi)存膨脹,需要每個(gè)虛擬機(jī)安裝VMware Tools,以為T(mén)ools內(nèi)置了內(nèi)存膨脹驅(qū)動(dòng)來(lái)實(shí)現(xiàn)這一功能。當(dāng)ESXi物理內(nèi)存處于高壓狀態(tài),就會(huì)觸發(fā)內(nèi)存膨脹機(jī)制來(lái)收回內(nèi)存。管理程序會(huì)通知虛擬機(jī)上的內(nèi)存膨脹驅(qū)動(dòng),給超過(guò)閾值的虛擬機(jī)分配“空閑的”虛擬機(jī)物理內(nèi)存頁(yè)去擴(kuò)大內(nèi)存。當(dāng)然默認(rèn)是沒(méi)有啟用的,啟用此功能會(huì)在一定程度上影響虛擬機(jī)的性能。內(nèi)存壓縮ESXi通過(guò)內(nèi)存壓縮技術(shù)可以
10、將一部分本該分頁(yè)到磁盤(pán)的虛擬機(jī)內(nèi)存也進(jìn)行壓縮。壓縮的內(nèi)存頁(yè)存儲(chǔ)在虛擬機(jī)主內(nèi)存的壓縮高速緩存中。當(dāng)檢測(cè)到內(nèi)存頁(yè)壓縮比率低于50%時(shí),該內(nèi)存頁(yè)不會(huì)被壓縮,而是通過(guò)管理程序內(nèi)存交換交換到磁盤(pán),ESXi只會(huì)使用管理程序交換未壓縮的內(nèi)存頁(yè),不會(huì)把已壓縮的內(nèi)存頁(yè)交換到磁盤(pán)。管理程序內(nèi)存交換在VM的配置文件中,有個(gè)后綴名為.vswp的文件,這個(gè)就是內(nèi)存交換文件。通過(guò)此方法,ESXi可以將供給虛擬機(jī)使用的物理內(nèi)存與物理磁盤(pán)設(shè)備進(jìn)行交換,以達(dá)到釋放內(nèi)存的目的。此文件在虛擬機(jī)啟動(dòng)的時(shí)候即被創(chuàng)建,文件大小與虛擬機(jī)的內(nèi)存 一樣。ESXi的內(nèi)存性能調(diào)優(yōu)控制內(nèi)存的占用比例即使用率,是保證VM及主機(jī)穩(wěn)定、性能優(yōu)越的前提條件
11、。ESXi內(nèi)置了內(nèi)存性能調(diào)優(yōu)工具-ESXtop。雖然VMware支持內(nèi)存過(guò)量技術(shù),但是建議不要隨便使用,畢竟過(guò)量會(huì)引發(fā)內(nèi)存膨脹及內(nèi)存交換,影響虛擬機(jī)的整體性能。表2:VMware esxtop內(nèi)存性能指標(biāo)表存儲(chǔ)性能優(yōu)化我們?cè)谠O(shè)計(jì)虛擬化架構(gòu)的時(shí)候,除了考慮CPU、內(nèi)存、網(wǎng)絡(luò)等因素外,更要對(duì)存儲(chǔ)進(jìn)行精心設(shè)計(jì)。不同的業(yè)務(wù)需求,對(duì)存儲(chǔ)的類型也是有不同的要求。因?yàn)榇鎯?chǔ)平臺(tái)不同,意味著使用的協(xié)議和存儲(chǔ)的特點(diǎn)也就不同。速度并非是選擇合適存儲(chǔ)的唯一條件,如協(xié)議、連通性、現(xiàn)有的基礎(chǔ)設(shè)施和費(fèi)用都要總和考慮。目前存儲(chǔ)主要分為以下三種類型:存儲(chǔ)區(qū)域網(wǎng)絡(luò)簡(jiǎn)稱SAN,是一種提供塊級(jí)存儲(chǔ)設(shè)備的專用網(wǎng)絡(luò)。主機(jī)與存儲(chǔ)之間通過(guò)光
12、纖進(jìn)行連接,多采用光纖交換機(jī)進(jìn)行接口對(duì)接。SAN提供了一個(gè)存儲(chǔ)中心,與其配合使用,淡化了本地存儲(chǔ)的功能。主要協(xié)議有互聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(ISCSI)、以太網(wǎng)光纖通道(FCoE)及光纖通信(FC)。網(wǎng)絡(luò)文件系統(tǒng)除了塊存儲(chǔ),ESXi也支持與網(wǎng)絡(luò)文件系統(tǒng)(NFS)的連接共享以存儲(chǔ)虛擬機(jī)和相關(guān)模板。主要通過(guò)網(wǎng)絡(luò)傳輸,不需要購(gòu)買(mǎi)額外的HBA卡。虛擬SAN又稱VSAN,此概念是VMware在vSphere5.5以后推出的一個(gè)新特性。去除了使用NFS和SAN的限制,同時(shí)又保證了數(shù)據(jù)的高可靠性。通過(guò)將ESXi本地磁盤(pán)聚合在一起并將共享數(shù)據(jù)存儲(chǔ)呈現(xiàn)給ESXi主機(jī)。支持橫向及縱向靈活擴(kuò)展,也是VMware近期
13、主推的存儲(chǔ)架構(gòu)。如何設(shè)計(jì)物理存儲(chǔ)合理的設(shè)計(jì)和選型物理存儲(chǔ)是虛擬化解決方案成功的重要環(huán)節(jié)。存儲(chǔ)設(shè)計(jì)的好壞,直接影響整體虛擬化環(huán)境的性能好壞。存儲(chǔ)的類型、RAID的配置、網(wǎng)絡(luò)和很多其他方面都會(huì)對(duì)虛擬化環(huán)境的性能產(chǎn)生很大影響,以下是對(duì)共享存儲(chǔ)的設(shè)計(jì)建議:業(yè)務(wù)需求技術(shù)永遠(yuǎn)是為業(yè)務(wù)服務(wù)的,任何優(yōu)秀的架構(gòu)設(shè)計(jì)都需要對(duì)業(yè)務(wù)需求理解透徹,否則做出來(lái)的架構(gòu)將不具備任何價(jià)值。所以業(yè)務(wù)需求的確定是著手設(shè)計(jì)的第一步。RAID級(jí)別又稱磁盤(pán)冗余陣列,不同的RAID級(jí)別,可以滿足不同等級(jí)的業(yè)務(wù)需求。簡(jiǎn)單的說(shuō),RAID是一種將多個(gè)物理硬盤(pán)驅(qū)動(dòng)器整合并作為一個(gè)或多個(gè)邏輯驅(qū)動(dòng)器呈現(xiàn)的技術(shù)。主流的RAID級(jí)別有,0、1、5、10等
14、。數(shù)字越高,其安全等級(jí)越高,防止數(shù)據(jù)丟失能力越強(qiáng)。固態(tài)盤(pán)的使用隨著技術(shù)和硬件的不斷發(fā)展,硬盤(pán)的類型也得到了擴(kuò)展。從之前的機(jī)械硬盤(pán),到現(xiàn)在的固態(tài)硬盤(pán)和純閃存盤(pán)。速度越來(lái)越快,I/O吞吐越來(lái)越大。并不是說(shuō)在整體的存儲(chǔ)架構(gòu)中,哪種盤(pán)一定好,為了獲得最大的性能,一定要結(jié)合業(yè)務(wù)需求,合理搭配使用。對(duì)于永久數(shù)據(jù)的保存,建議使用機(jī)械硬盤(pán)。但是對(duì)于緩存區(qū)域和熱數(shù)據(jù)區(qū),建議采用SSD或者Flash disk。IP存儲(chǔ)網(wǎng)絡(luò)IP網(wǎng)絡(luò)存儲(chǔ)技術(shù)完全依賴于以太網(wǎng)的傳輸。在某些情況下,我們也要考慮結(jié)合IP存儲(chǔ)網(wǎng)絡(luò)來(lái)進(jìn)行架構(gòu)的非關(guān)鍵組件的彌補(bǔ)。從成本考慮,光存儲(chǔ)網(wǎng)絡(luò)和SSD等硬件雖然速度快,但是成本較高。例如ISO等鏡像問(wèn)題
15、,由于不是經(jīng)常調(diào)用,可以存放于IP網(wǎng)絡(luò)存儲(chǔ)中,采用NFS或者ISCSI進(jìn)行呈現(xiàn)。如何設(shè)計(jì)虛擬存儲(chǔ)VMware的VSAN不同于其他我們熟知的存儲(chǔ),既不是NFS也不是VMF,它是vSphere 5.5版本以上才有的一種虛擬SAN存儲(chǔ)。它通過(guò)整合所有ESXi計(jì)算節(jié)點(diǎn)的本地硬盤(pán)資源,創(chuàng)建一個(gè)可以被集群中所有ESXi共同訪問(wèn)的邏輯數(shù)據(jù)存儲(chǔ)。虛擬機(jī)文件等其他數(shù)據(jù)可以在主機(jī)之間復(fù)制,使得單個(gè)主機(jī)損壞,不會(huì)發(fā)生單點(diǎn)故障,影響業(yè)務(wù)正常。當(dāng)然VSAN也有一些注意事項(xiàng),避免性能瓶頸:固態(tài)盤(pán)VSAN中的每個(gè)存儲(chǔ)組必須有一塊SSD盤(pán)來(lái)創(chuàng)建數(shù)據(jù)存儲(chǔ),而且要求有一個(gè)能夠直通的硬盤(pán)驅(qū)動(dòng)控制器,可以將每個(gè)單獨(dú)的磁盤(pán)驅(qū)動(dòng)數(shù)據(jù)提交
16、給vSphere。其中SSD主要作為緩存層,一般SSD與機(jī)械盤(pán)的比例是1:10。存儲(chǔ)策略VMware將VSAN定義為軟件定義存儲(chǔ),通過(guò)定義存儲(chǔ)策略對(duì)存儲(chǔ)資源進(jìn)行管理。通過(guò)策略管理員可以定義一組特點(diǎn)的可用性、性能和大小的要求并允許vSphere在部署新的虛擬機(jī)的時(shí)候管理VMDK的位置和選擇正確的數(shù)據(jù)存儲(chǔ)。網(wǎng)絡(luò)由于是通過(guò)以太網(wǎng)進(jìn)行連接,所以VSAN依靠同步復(fù)制在各個(gè)ESXi主機(jī)中復(fù)制數(shù)據(jù),從而對(duì)網(wǎng)絡(luò)的要求較高。因?yàn)槠鋵?duì)延遲的容忍度很低,網(wǎng)絡(luò)延遲的增加,可能會(huì)導(dǎo)致嚴(yán)重的性能下降。強(qiáng)烈建議采用至少10G網(wǎng)絡(luò)負(fù)載ESXi之間的復(fù)制壓力。ESXi的存儲(chǔ)性能調(diào)優(yōu)網(wǎng)絡(luò)性能優(yōu)化網(wǎng)絡(luò)性能的好壞直接影響用戶最終的體
17、驗(yàn)。虛擬化的所有數(shù)據(jù)傳輸,幾乎都是通過(guò)網(wǎng)絡(luò)進(jìn)行的。用戶對(duì)數(shù)據(jù)提取,主機(jī)與主機(jī)之間的數(shù)據(jù)復(fù)制等。越是復(fù)雜的網(wǎng)絡(luò),越要精細(xì)化設(shè)計(jì),做好合理的規(guī)劃,否則一旦投入生產(chǎn)使用,就會(huì)帶來(lái)很多不必要的麻煩。ESXi的網(wǎng)絡(luò)設(shè)計(jì)ESXi的網(wǎng)絡(luò)設(shè)計(jì)主要分為兩種,物理網(wǎng)絡(luò)設(shè)計(jì)和虛擬化網(wǎng)絡(luò)設(shè)計(jì)。不同的層次網(wǎng)絡(luò)設(shè)計(jì),需要配置的和支持的團(tuán)隊(duì)也不同,一般物理網(wǎng)絡(luò)的設(shè)計(jì)主要是由公司的網(wǎng)絡(luò)部門(mén)負(fù)責(zé),而虛擬化網(wǎng)絡(luò)一般是云計(jì)算團(tuán)隊(duì)負(fù)責(zé)。物理網(wǎng)絡(luò)設(shè)計(jì):在網(wǎng)絡(luò)設(shè)計(jì)的過(guò)程中,應(yīng)該確保每一條網(wǎng)絡(luò)路徑都應(yīng)該是冗余的,避免單點(diǎn)故障。確保主機(jī)與主機(jī)之間的復(fù)制通道具備足夠的帶寬,避免大流量造成數(shù)據(jù)延遲。確保具備足夠的物理網(wǎng)絡(luò)上行鏈路,以提供網(wǎng)絡(luò)隔離
18、和環(huán)境要求的冗余。確保數(shù)據(jù)網(wǎng)絡(luò)、Kernel和管理網(wǎng)絡(luò)的隔離。虛擬化網(wǎng)絡(luò)設(shè)計(jì):主要分為標(biāo)準(zhǔn)交換機(jī)和虛擬交換機(jī),行業(yè)中一般較小的環(huán)境建議采用標(biāo)準(zhǔn)交換機(jī),較大的環(huán)境建議采用分布式交換機(jī)。因?yàn)榉植际浇粨Q機(jī)在可擴(kuò)展性、功能性以及向后延續(xù)性都優(yōu)于標(biāo)準(zhǔn)交換機(jī)。標(biāo)準(zhǔn)交換機(jī):標(biāo)準(zhǔn)交換機(jī)是VMware最早的虛擬交換機(jī),也是單機(jī)版交換機(jī)。每個(gè)主機(jī)的所有出入流量都要經(jīng)過(guò)標(biāo)準(zhǔn)交換機(jī),需要更多的管理開(kāi)銷。適用于小規(guī)模的部署。確保每個(gè)主機(jī)上每個(gè)vSwitch的部署和配置是一致的,避免虛擬機(jī)飄移后,網(wǎng)絡(luò)無(wú)法通信。分布式交換機(jī):適合大規(guī)模的部署,因?yàn)槠鋵?shí)現(xiàn)了集中配置和管理,使主機(jī)設(shè)置更加統(tǒng)一。也是VMware平臺(tái)的網(wǎng)絡(luò)增強(qiáng)版
19、。合理使用網(wǎng)絡(luò)I/O控制分布式交換機(jī)具備后期延伸的優(yōu)勢(shì),提供負(fù)載均衡策略。ESXi的分布式交換機(jī)其實(shí)如何選擇虛擬交換機(jī)完全取決于各自的業(yè)務(wù)需要。但是隨著VMware的更新技術(shù)的發(fā)展,越來(lái)越青睞分布式交換機(jī)的應(yīng)用,尤其是大環(huán)境的部署與應(yīng)用。那么我們?cè)诓渴鸱植际浇粨Q機(jī)的時(shí)候可以得到哪些提高性能的好處呢?具備較好的向后擴(kuò)能力,否則VMware技術(shù)的發(fā)展路線支持NIOC功能,實(shí)現(xiàn)不同虛擬機(jī)使用不同網(wǎng)絡(luò)資源的管理。尤其是在SDN中應(yīng)用較廣,實(shí)現(xiàn)多個(gè)功能共享較少的網(wǎng)卡。提供負(fù)載均衡功能,能夠有效的均衡跨物理網(wǎng)卡的流量負(fù)載。提供Netflow和LLDP的管理功能,當(dāng)虛擬化關(guān)鍵業(yè)務(wù)的時(shí)候,這個(gè)功能就顯得尤為重
20、要。ESXi的網(wǎng)絡(luò)性能調(diào)優(yōu)在以往的虛擬化環(huán)境管理工作中可以發(fā)現(xiàn),絕大多數(shù)的性能問(wèn)題主要來(lái)自于CPU、內(nèi)存和存儲(chǔ),網(wǎng)絡(luò)引發(fā)的性能瓶頸幾乎沒(méi)有。但是隨著SDN、NSX等技術(shù)的出現(xiàn),對(duì)網(wǎng)絡(luò)的要求是越來(lái)越高,網(wǎng)絡(luò)的優(yōu)化也就越來(lái)越重要。ESXi主機(jī)層面性能優(yōu)化通過(guò)多年的工作經(jīng)驗(yàn)積累得出,好的網(wǎng)絡(luò)性能應(yīng)該從ESXi主機(jī)層次開(kāi)始。首先選擇合適數(shù)量網(wǎng)卡的主機(jī)以保證冗余和性能。虛擬交換機(jī)的負(fù)載均衡策略可以有效的對(duì)網(wǎng)卡之間的流量進(jìn)行負(fù)載,避免單塊網(wǎng)卡的流量瓶頸。所以建議無(wú)論在大與小的環(huán)境,盡量采用分布式交換機(jī)。如果網(wǎng)絡(luò)吞吐量增加,那么建議對(duì)ESXi的主機(jī)CPU也要進(jìn)行增加。因?yàn)橥掏略酱?,需要的CPU處理量也就越大
21、。合理使用網(wǎng)絡(luò)I/O控制功能,采用共享而不是閾值來(lái)控制網(wǎng)絡(luò)流量。因?yàn)殚撝凳窃O(shè)置可以使用的最大限。而共享是依靠策略,通過(guò)優(yōu)先級(jí)方式,對(duì)關(guān)鍵虛擬機(jī)進(jìn)行流量?jī)?yōu)化。vMotion的流量建議采用單獨(dú)的網(wǎng)卡進(jìn)行隔離,避免與其它的流量沖突。遷移的流量和FT的流量都會(huì)使用kernel的網(wǎng)卡。虛擬機(jī)層面的性能優(yōu)化在所有的虛擬機(jī)中安裝VMware tools,選擇使用VMXNET3增強(qiáng)型虛擬網(wǎng)卡,因?yàn)槠涮峁┝烁呒?jí)的功能,比如巨型幀、接收端收放等等技術(shù)。將有關(guān)聯(lián)的虛擬機(jī)盡量放在同一個(gè)ESXi主機(jī)上,因?yàn)橄嗤鳈C(jī)的網(wǎng)絡(luò)是通過(guò)內(nèi)核傳輸,速度實(shí)現(xiàn)最大化。但是并不是說(shuō),VM就不用做備份或者異地部署了,還是要依據(jù)業(yè)務(wù)的實(shí)際
22、應(yīng)用來(lái)分。對(duì)于那些要求網(wǎng)絡(luò)延遲較小的應(yīng)用,需要調(diào)整VMware高級(jí)設(shè)置中的網(wǎng)絡(luò)延遲敏感度,滿足業(yè)務(wù)需求。當(dāng)然,默認(rèn)的設(shè)置已經(jīng)可以滿足大多數(shù)的用戶的應(yīng)用場(chǎng)景。結(jié)束語(yǔ)以上主要闡述了VMware在CPU、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)方面的性能優(yōu)化。當(dāng)然一個(gè)成熟的虛擬化架構(gòu)方案,不僅要考慮以上幾種場(chǎng)景,還要對(duì)虛擬機(jī)本身的CPU、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)進(jìn)行微調(diào)。本文主要集中在物理層面的優(yōu)化。有興趣的朋友,可以從VMware vSphere的官方找到相關(guān)的優(yōu)化細(xì)節(jié)。VMware vSphere 性能優(yōu)化方法本部分由社區(qū)會(huì)員分享,相關(guān)著作權(quán)歸原作者所有一、vSphere 性能優(yōu)化邏輯1 、虛擬化邏輯分層示意圖2 、X86 結(jié)
23、構(gòu)下虛擬化的問(wèn)題 X86 的 os 通常直接運(yùn)行在物理硬件層面,因此它的執(zhí)行權(quán)限必須為 ring 0. X86 虛擬化架構(gòu)則要求 os 運(yùn)行在虛擬化層級(jí)上面3 、CPU 軟件虛擬化 二進(jìn)制轉(zhuǎn)換是最原始的 32bit x86 虛擬化的指令結(jié)構(gòu) 利用二進(jìn)制轉(zhuǎn)換,就可以實(shí)現(xiàn):o 讓 VMM 單獨(dú)運(yùn)行在 ring 0,保證相對(duì)獨(dú)立與性能o 讓 Guest OS 運(yùn)行在 ring 1.o 讓 Applications 運(yùn)行在 ring 3.4 、CPU 硬件虛擬化 CPU 硬件虛擬化使得 VMM 運(yùn)行虛擬機(jī)變得更加簡(jiǎn)單 CPU 硬件虛擬化允許 VMM 不依賴二進(jìn)制轉(zhuǎn)換依然能夠完全控制虛擬機(jī) 包括以下兩種
24、o Intel VT-xo AMD-v5 、Intel VT-x 和 和 AMD-v 兩者都是 CPU 的一種指令執(zhí)行模式,它們的主要功能如下:o 允許 VMM 運(yùn)行在 ring 0 之下的 root modeo 自動(dòng)的通過(guò) hypervisor 來(lái)獲取權(quán)限和靈敏度級(jí)別o 存放 Guest OS 在虛擬 CPU 控制架構(gòu)中的狀態(tài)6、內(nèi)存工作示意圖7 、虛擬環(huán)境性能分析 第一維度:o 單臺(tái)物理服務(wù)器上的單臺(tái)虛擬機(jī) Hypervisor 位于物理設(shè)備與虛擬機(jī)之間o 影響性能的重要因素 VMM overhead 第二維度:o 單臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī) Hypersior 位于物理設(shè)備與虛擬機(jī)之間o
25、 影響性能重要因素 調(diào)度開(kāi)鎖以及網(wǎng)路、存儲(chǔ)、計(jì)算資源不足等問(wèn)題 第三維度:o VMware vSphere Distributed Resource Scheduler: 降低第二維度中可能存在的部分性能問(wèn)題o 影響性能的因素 高頻次的 vMotion 動(dòng)作8 、vSphere 環(huán)境中影響性能的因素 硬件層面:o CPUo Memoryo Storageo Network 軟件層面:o VMMo Virtual Machine 設(shè)定o Applications9 、關(guān)于性能的最佳實(shí)踐10 、常見(jiàn)的性能問(wèn)題 通常,性能問(wèn)題都應(yīng)該是在進(jìn)行綜合性能定義、管理的過(guò)程中出現(xiàn)的 綜合所有產(chǎn)品的性能問(wèn)題而言
26、,性能問(wèn)題通常體現(xiàn)在如下方面o 應(yīng)用程序無(wú)法滿足 Service-Level Agreemento 應(yīng)用程序無(wú)法滿足預(yù)先規(guī)劃的性能浮動(dòng)范圍o 用戶反饋性能故障或吞吐不足11 、性能問(wèn)題排錯(cuò)方法論 排查性能問(wèn)題和排查故障問(wèn)題很多時(shí)候都是相似的,或者說(shuō):性能問(wèn)題與故障問(wèn)題的界限其實(shí)是很模糊的,因此都需要遵循類似的方法論,才能比較有效的進(jìn)行排查 根據(jù)前輩們和廠家總結(jié)的經(jīng)驗(yàn),通常都建議參考如下 邏輯來(lái)定義故障o 故障的體現(xiàn)形式是什么?o 從哪里著手開(kāi)始查找問(wèn)題?o 如何確定怎樣檢查問(wèn)題?o 是否確認(rèn)找到問(wèn)題就是真正意義上的問(wèn)題所在?o 想要針對(duì)性解決這個(gè)問(wèn)題,需要做些什么o 如果處理之后問(wèn)題依然存在,
27、接下來(lái)該怎么辦?12 、針對(duì) ESXi Host 的 的 Checklist13 、vSphere二、針對(duì) VM 的性能優(yōu)化1 、VM 性能相關(guān)概覽 經(jīng)過(guò)精細(xì)化配置、調(diào)校后的 VM 將會(huì)為 Applications 提供一個(gè)最好的運(yùn)行環(huán)境 通??紤] VM 的性能相關(guān)的參數(shù)包含下列幾個(gè)選項(xiàng)o Guest OSo VMware Toolso CPUo MemoryoStorageo Network2 、首先選定合適的 OS 類型 在創(chuàng)建 VM 時(shí),一定要正確選擇 Guest OS 的類型 Guest OS 類型會(huì)決定缺省的最優(yōu)化硬件以及配套的設(shè)定3 、保證好 Guest OS 的時(shí)間 VM 里的時(shí)
28、間計(jì)算邏輯會(huì)導(dǎo)致 Guest OS 的時(shí)間要想保持準(zhǔn)確性是很重要的 規(guī)避這種可能性的方式o 盡量選擇需要較小時(shí)間中斷的 Guest OS 大多數(shù) Windows、Linux 2.4:100 Hz(每秒 100 個(gè)中斷計(jì)數(shù)) 大多數(shù) Linux 2.6: 1000 Hz 最新的 Linux:250 Hzo NTP Server 是最好的方法 無(wú)論如何,別用 2 種以上的時(shí)間同少方式4 、VMware Tools 被用于提升 VM 的性能和可管理性 保持 VMware Tools 為最新版本 確保 VMware Tools 是處于正常被 激活狀態(tài)的,如果沒(méi)有被激活,則請(qǐng)激活它5 、Virtual
29、Hardware 兼容性 Virtual Hardware 兼容能力丐 ESXi Host 的版本有關(guān)系,高版本,低版本的 Virtual Hardware 的功能、性能兼容級(jí)別都不同o 它會(huì)影響著 VM 的性能o 正常狀態(tài)下只能升級(jí),不能降級(jí)o Virtual Hardware 版本可以向下兼容6 、Virtual Hardware v10 這個(gè)版本出現(xiàn)在 vSphere 5.5 當(dāng)中,其上的虛擬機(jī)支持下列新功能7 、針對(duì) CPU 除非運(yùn)行在 OS 里的 Applicantion 有這個(gè)需求,否則盡量避免使用 vSMPo 激活了 SMP,則進(jìn)程可能會(huì)被 跨 vCPUs 進(jìn)行遷移,會(huì)導(dǎo)致額外的
30、開(kāi)銷 如果有選擇,最好是使用 OS 缺省的建議配置8、關(guān)于 vNUMA 的使用 vNUMA 允許 NUMA-aware 的 Guest OS 和 Application 通過(guò)硬件層的 NUMA 架構(gòu)來(lái)提升資源利用效率 vNUMAo 要求 virtual hardware v8+(ESXi 5.0+)o 當(dāng) vCPUs 數(shù)量超過(guò) 8 個(gè)時(shí)自動(dòng)激活o 可以在 vSphere Web Client 里激活或禁止9 、針對(duì) Memory 這部分的考量 大內(nèi)存頁(yè)面狀態(tài)下:o ESXi 可以支持 2MB 的內(nèi)存頁(yè)面給 Guesto 大內(nèi)存頁(yè)面內(nèi)存的使用會(huì)降低內(nèi)存管理開(kāi)銷且能夠變相提升 hypervisor
31、 性能 Transparent page sharing 組件是唯一的 overcommittedo 如果 Guest OS 或 Applications 能夠 handle 的話,建議使用大內(nèi)存頁(yè)面 為 VM 的交換文件單獨(dú)找個(gè)地方存放o 在 SSD 上配置 Host Cache 用作存放 swap-to-host cacheo 如果主機(jī)沒(méi)用 swap-to-host cache 功能則建議存放在本地磁盤(pán)或遠(yuǎn)程 SSD 空間o 盡量不要將交換文件存放在 Thin 模式下的 LUN 上面10 、針對(duì) Storage 這部分的考量 選擇好合適 Guest OS 的硬件類型o BusLogic 或
32、 LSI Logico VMware Paravirtual SCSI(PVSCSI)適配器 針對(duì) I/O 敏感類型業(yè)務(wù)選用 PVSCSI 是一個(gè)和 BusLogic 和 LSI Logic 相似的部件,但是它是一個(gè)低 CPU 開(kāi)銷、高吞吐、低延遲和更好擴(kuò)展能力的控制器類型o Guest OS 隊(duì)列深度適中o 對(duì)齊 OS 的分11 、針對(duì) Network 部分的考量 如果有的選擇,盡量使用 vmxnet3 這款虛擬網(wǎng)路卡:o 如果不支持 vmxnet3,則可以退而求其次選擇 Enhanced vmxneto 如果 Enhanced vmxnet 也不支持,可以選擇 flexible 類型 盡量
33、選擇支持主機(jī)物理卡高性能功能組件的虛擬網(wǎng)路卡,例如 TCP checksum offlad,TSO 和 Jumbo Frames 等 確保物理網(wǎng)路卡運(yùn)行在全雙工模式和最高速狀態(tài)12 、開(kāi)啟 VM 的建議 在虛擬機(jī)開(kāi)啟和成功啟動(dòng)前,會(huì)消耗大量的資源o CPU 和 Memory reservations 必須要得到滿足o 需要足夠的磁盤(pán)空間用于存放下面 2 個(gè) vswp 文件 *.vswp vmx-*.vswpo 如果為 vm 配置了 vSphere Flash Read Cache(vFRC),則還需要足夠的 SSD 磁盤(pán)13 、開(kāi)啟 VM 的 CPU 和內(nèi)存預(yù)留 為了順利開(kāi)啟 vm,ESXi
34、Host 必須要有大量的 CPU、內(nèi)存資源用于滿足虛擬機(jī)的啟動(dòng)。當(dāng)然,還需要包含啟動(dòng)這臺(tái)虛擬機(jī)所需要的額外 Memory 開(kāi)銷14 、針對(duì) VM 的 的 Swap 文件存放建議 想要成功開(kāi)啟 VM 還需要有足夠的存儲(chǔ)空間存放 swap 文件o *.vswp 交換文件的大小取決于虛擬機(jī)已配置的內(nèi)存及預(yù)留值o vmx-*.vswp 交換文件的大小取決于虛擬機(jī)的 Overhead Memory 和 Vmkernel 的 Reservation15 、開(kāi)啟 VM 的 的 vSCSI 類型建議 要想成功啟動(dòng) VM,Guest OS 必須要支持 SCSI Controller SCSI Controlle
35、r 的選擇可以在創(chuàng)建時(shí)和創(chuàng)建后去修改 創(chuàng)建虛擬機(jī)的向?qū)е?,?huì)根據(jù) Guest OS 類型不同而設(shè)定不同的默認(rèn)建議選擇16 、VM 性能最佳實(shí)踐 在創(chuàng)建 vm 時(shí),選擇合適的 Guest OS 類型 把不必要的設(shè)備,例如:USB, CD-ROM, 軟驅(qū)等刪除 僅僅在 Applications 支持 Multi-Threaded 時(shí)才配置 SMP 為 Guest OS 配置好時(shí)間同步 務(wù)必為 vm 安裝 VMware Tools 并且保持為最新版本 建議使用最新的 Virtual Hardware 版本 針對(duì)大 I/O 類型的業(yè)務(wù),需要考慮清楚,因?yàn)樗鼤?huì)導(dǎo)致 Guest OS 的 I/O 性能受到
36、影響 做好對(duì) Guest OS 的分區(qū)對(duì)齊 盡可能使用 vmxnet3三、針對(duì) CPU 的性能優(yōu)化1 、World 概念概述 基本上,可以將 World 理解為 CPU 上調(diào)度的執(zhí)行任務(wù)o World 就好像是傳統(tǒng) OS 里的進(jìn)程一樣 所以,VM 就相當(dāng)于一級(jí) worlds 的集合o 一個(gè)用于每個(gè) vCPUo 一個(gè)用于虛擬鼠標(biāo)、鍵盤(pán)、屏幕(MKS)o 一個(gè)用于 VMM CPU Scheduler 會(huì)選擇將 World 調(diào)度到對(duì)應(yīng)物理 CPU 或 core 上2 、CPU Scheduler 組件 CPU 資源的分配對(duì)于用戶而言是動(dòng)態(tài)和透明的o 將 vCPUs 調(diào)度到物理 CPUs 上o 每 2
37、 40ms 會(huì)檢查一次物理 CPU 的使用情況,然后按需去遷移 vCPUs 針對(duì) CPU 的使用情況,強(qiáng)制采用 proportional-share 算法o 每當(dāng) CPU 資源 overcommitted,則主機(jī)會(huì)在所有的 VMs 上執(zhí)行物理 CPU time-sliceo 每個(gè) vCPU 在調(diào)度時(shí),會(huì)按照資源設(shè)定的優(yōu)先級(jí)別去調(diào)用3 、CPU Scheduler 組件:VM SMP 相關(guān) VMware ESXi 使用 co-scheduling 表來(lái)優(yōu)化虛擬機(jī) SMP 的效率 Co-scheduling 的工作原理將同一時(shí)間的 CPU 調(diào)度請(qǐng)求分散到不同的物理 CPU 上o 每一顆 vCPU
38、都會(huì)隨時(shí)可能 Scheduled、Descheduled、Preempted、Blocked 等 在 SMP 虛擬機(jī)里發(fā)生 vCPUs 調(diào)度時(shí),CPU Scheduler 可能會(huì)導(dǎo)致調(diào)度不均衡的問(wèn)題o 兩顆以上的 vCPUs 的 SMP 虛擬機(jī)在調(diào)度到不同的 CPU 上時(shí)可能存在不同的執(zhí)行速率,所以會(huì)不均衡o 當(dāng)除了某個(gè) vCPU 外,整體的 vCPUs 的調(diào)度并沒(méi)有完整執(zhí)行,vCPU 的不均衡程度會(huì)加劇o 當(dāng) vCPU 不均衡比例超過(guò)一定比例之后,也會(huì)被判定為不均衡4 、CPU Scheduler 組件:Relaxed Co-Scheduler 該組件技術(shù)表示檢測(cè)到不均衡之后同時(shí)調(diào)度大量虛擬
39、機(jī) vCPUs 的技術(shù)o 減少虛擬機(jī) Co-start 對(duì)物理 CPUs 數(shù)量的要求o 增加 CPU 的利用率 針對(duì) idle 的 vCPU 不存在 co-scheduling 的開(kāi)銷部分5 、CPU Scheduler 組件:Processor topology CPU Scheduler 使用 Processor topology 信息來(lái)優(yōu)化 vCPUs 在不同 Sockets 的位置存放選擇 CPU Scheduler 會(huì)盡可能在所有的 Sockets 上去分布負(fù)載,以便充分利用可用的 Cacheo 單 Socket 里的 Cores 通常會(huì)使用共享的 Last-Level Cacheo
40、 使用共享的 Last-Level Cache,可以在內(nèi)存敏感業(yè)務(wù)上提升 vCPU 的性能 當(dāng) SMP 虛擬機(jī)在 vCPUs 之間表現(xiàn)出明顯的數(shù)據(jù)共享時(shí),則依托緩存分布的方式將會(huì)是退而求其次的負(fù)載分布方式o 可以通過(guò)在 vmx 文件里增加 sched.cpu.vsmpConsolidate= TRUE這行參數(shù)來(lái)覆蓋掉缺省的調(diào)度邏輯6 、CPU Scheduler 組件:NUMA-aware 在 Non-Uniform Memory Access(NUMA)主機(jī)上都會(huì)有直邊到 1 個(gè)或多個(gè)本地內(nèi)存控制器的 CPU 來(lái)提供本地內(nèi)存:o 同一臺(tái)物理服務(wù)器上,通過(guò)本地內(nèi)存訪問(wèn) CPU 的進(jìn)程效率會(huì)高于
41、遠(yuǎn)程內(nèi)存o 當(dāng)虛擬機(jī)的內(nèi)存分布中大部分不在本地內(nèi)存是,就意味著此時(shí)的 NUMA 性能是較差的 NUMA scheduler 限制 vCPUs 到單一的 Socket 上,以便充分利用緩存7 、Wide-VM NUMA Support Wide-VM 表示虛擬機(jī)擁有超過(guò) NUMA 節(jié)點(diǎn)所有 Cores 的 vCPUs 數(shù)量o 例如:1 臺(tái) 4 vCPUs SMP 虛擬機(jī)可能分布在 2 Scokets, 2 Cores 的環(huán)境o 只有當(dāng) Cores 的數(shù)量滿足才不算 Wide-VM(HT 不算) 1 臺(tái) 8 vCPUs 虛擬機(jī)可能 分布在 2 Scokets, 4 Cores 系統(tǒng)上,躍然激活了
42、HT,不過(guò)由于每個(gè) NUMA 節(jié)點(diǎn)的 CPU 只有 4 Cores,所以,算作 Wide-VM Wide-VM NUMA 支持將 Wide-VM 分割到更小的 NUMA Client 環(huán)境里o Wide-VM 為每個(gè) Client 分配一個(gè) Home Node 例如:1 臺(tái) 4 vCPUs SMP 虛擬機(jī)運(yùn)行在 2 Socket, 2 Cores 的系統(tǒng)時(shí),會(huì)有 2 個(gè) 2 vCPU NUMA Clients;1 臺(tái) 8 vCPUs SMP 虛擬機(jī)運(yùn)行在 2 Sockets, 4 Cores 的系統(tǒng)時(shí),會(huì)有 2 個(gè) 4 vCPU NUMA Clients.o Wide-VM 由于包含多個(gè) Cl
43、ients,所以存在多個(gè) Home Nodes,每個(gè) Client 都有自己的 HomeNode8 、Wide-VM NUMA Support 的性能影響 以 1 臺(tái)運(yùn)行在 2 Sockets, 4 Cores 主機(jī)上的 8 vCPUs SMP 虛擬機(jī)為例(在這案例中,Wide-VM NUMA 支持與否都不影響性能) :o 假設(shè)是 Uniform Memory Access, 大約 50%的內(nèi)存在 Local,因?yàn)槿绻挥?Wide-VM NUMASupport, 則會(huì)有 2 個(gè) Home Nodes 以 1 臺(tái) 4 Sockets, 2 Cores 系統(tǒng)為例,只有 25%左右的內(nèi)存在 Loc
44、al(這樣一來(lái),性能就會(huì)比直接訪問(wèn)好 1/2 左右) :o Wide-VM NUMA support 則相當(dāng)于變相提升 50%的本地內(nèi)存訪問(wèn)比例9 、影響 CPU Performance 相關(guān)因素 Idling virtual machines:o 主要是 Gues 需要的 Time Interrupts 開(kāi)銷 CPU affinityo CPU affinity 則會(huì)限制 Scheduler 并且會(huì)導(dǎo)致負(fù)載不均衡 SMP virtual machineso 會(huì)產(chǎn)生 Co-Scheduling 的開(kāi)銷 CPU 資源不足時(shí)的資源調(diào)度邏輯o 如果存在 CPU 爭(zhēng)用,則 Scheduler 會(huì)強(qiáng)行按
45、照優(yōu)先級(jí)順序去依次滿足高優(yōu)先級(jí)低優(yōu)先級(jí)的虛擬機(jī) CPU 請(qǐng)求10 、CPU Read Time vCPUs 的工作模式是從 CPU Scheduler 根據(jù) Proportinonal-share 算法去獲取物理 CPU 的 Cycleso 如果 vCPU 想要嘗試去在沒(méi)有可用 CPU Cycles 的物理 CPU 上執(zhí)行指令時(shí),請(qǐng)求會(huì)被列入等待隊(duì)列o 物理 CPU 沒(méi)有 Cycles 通常都和物理 CPU 不夠用或高優(yōu)先級(jí)的 vCPUs 多吃多占有關(guān) vCPUs 等待物理 CPU 的可用 Cycles 時(shí)間集合就是 CPU Ready Timeso 從概念上來(lái)看,就該知道,這樣一來(lái)必然會(huì)影響
46、到 Guest OS 的 Performance注:關(guān)于 RDY ,詳情請(qǐng)查閱 :/thread- - 6311- -1 1- - 1.html11 、vSphere Client 查看 CPU 指標(biāo)12 、esxtop 下的 CPU 性能分析參數(shù) PCPU USED(%): 物理 CPU 的使用率 每一組的統(tǒng)計(jì)數(shù)據(jù)信息:o %USED:使用率(包含%SYS)o %SYS:VMKernel 系統(tǒng)的活動(dòng)時(shí)間o %RDY:Ready Timeo %WAIT:Wait 和 idling 時(shí)間o %CSTP:提交到 co-schedule 的百分比o %MLMTD:由于 CPU Limit 導(dǎo)致的無(wú)法
47、調(diào)用運(yùn)行參數(shù)o NWLD:指定 Group 分配到的 Worlds 數(shù)量 輸入V可以查看虛擬機(jī)的相關(guān)輸出信息 輸入e可以顯示為虛擬機(jī)分配的所有可用 worlds 用于監(jiān)控性能的重要指標(biāo)o High-usage 值 這個(gè)值通常都意味著高資源使用率 這個(gè)參數(shù)適用于幾乎所有的對(duì)象o Ready time 這是衡量 CPU 是否存在性能問(wèn)題的重要指標(biāo) CPU Ready Time 發(fā)生在虛擬機(jī)的 CPU 請(qǐng)求數(shù)量超過(guò)物理 CPUs 可用數(shù)量的情況下 計(jì)算方式:x * 100% / 20000 = 0.0001 y%注:x x = 時(shí)間,單位 ms , 20000 單位為 ms ,缺省系統(tǒng)刷新周期為 2
48、0s , y = RDY 的百分比(超過(guò) 10% 時(shí)則會(huì)存在性能問(wèn)題,超過(guò) 5% 時(shí)可能就會(huì)存在,但當(dāng)時(shí)可能并不存在嚴(yán)重性的性能問(wèn)題)四、針對(duì) RAM 的性能優(yōu)化1 、Mem.FreeMinPct Mem.MinFreePct 是 VMkernel 需要保持為 free 狀態(tài)內(nèi)存數(shù)量的控制參數(shù)o VMkernel 通過(guò)彈性比例基于為 ESXi Host 配置的內(nèi)存來(lái)決定 Mem.MinFreePct 這個(gè)參數(shù)值2 、VMkernel 執(zhí)行內(nèi)存回收邏輯3 、vSphere 5.x 內(nèi)存回收閥值計(jì)算 假設(shè) Mem.MinFree 值為 1619MB,則內(nèi)存閥值計(jì)算比例如下 :4 、Guest OS
49、 里面的內(nèi)存相關(guān)參數(shù) 通常情況下 Guest Memory 和 Host Memory 的使用率是不同的,為什么呢?o Guest physical memory Guest 里面可在評(píng)估活動(dòng)內(nèi)存狀況時(shí)更加直觀 ESXi 活動(dòng)內(nèi)存評(píng)估技術(shù)需要時(shí)間去完成o Host physical memory Host memory 使用情況并不會(huì)如實(shí)顯示 Guest 的內(nèi)存相關(guān)情況 Host memory 使用情況會(huì)基于虛擬機(jī)在物理主機(jī)和 Guest 內(nèi)存使用相關(guān)優(yōu)先級(jí)而定5 、Consumed Host Memory 和 Active Guest Memory Consumed host memory
50、active guest memoryo 如果沒(méi)發(fā)生 Memory overcommitted,這種狀態(tài)是 ok 的o Consumed host memory 代表著 Guest 的最高內(nèi)存使用量 Consumed host memory Alarms - New Alarm Definition - 輸入想要在發(fā)生狀態(tài)的監(jiān)控條件12 、分析 Datastore Alarms點(diǎn)擊 Monitor - Issuses - Triggered Alarms13 、設(shè)備驅(qū)動(dòng)隊(duì)列深度 設(shè)備驅(qū)動(dòng)隊(duì)列深度決定 LUN 在同一時(shí)間支持的活動(dòng)命令數(shù)目 設(shè)置設(shè)備驅(qū)動(dòng)隊(duì)列值可以用于降低磁盤(pán)延遲:o Qlogic
51、 適配器默認(rèn)隊(duì)列深度為 64o 其它的通常缺省隊(duì)列深度為 32.o 最大隊(duì)列深度建議為 64. 將 Disk.SchedNumReqOutstanding 的值設(shè)定為與隊(duì)列深度一樣的最合適14 、存儲(chǔ)隊(duì)列 ESXi Host 主機(jī)端的隊(duì)列:o 設(shè)備驅(qū)動(dòng)隊(duì)列深度控制著 LUN 上面任意時(shí)間的活動(dòng)命令數(shù)目 缺省深度 32.o VMkernel 隊(duì)列是設(shè)備驅(qū)動(dòng)隊(duì)列的溢出部分 存儲(chǔ)陳列隊(duì)列:o 當(dāng)針對(duì)存儲(chǔ)陣列的活動(dòng)命令數(shù)據(jù)過(guò)高時(shí),就會(huì)產(chǎn)生這個(gè)部分的隊(duì)列 在主機(jī)端或存儲(chǔ)陣列端如果有大量的隊(duì)列,就會(huì)增加命令延遲15 、SCSI Reservation 用途講解 SCSI reservation 用來(lái)干什么
52、:o LUN 在一個(gè)較短周期內(nèi)被單一主機(jī)占用的時(shí)間o 當(dāng) VMFS Metadata 被更新時(shí),被用于支持 VMFS 實(shí)例鎖定文件系統(tǒng) Metadata 更新的通常會(huì)受到下列因素影響:o 創(chuàng)建、刪除 VMDKo 增加 VMFS Sizeo 增加 VMDK 文件 Sizeo 更改磁盤(pán)的模式 最小化對(duì)虛擬機(jī)性能影響:o 別在高峰時(shí)期去做前面那些事情 如果存儲(chǔ)陣列支持 vSphere Storage APIS - Array Integration(VAAI)和硬件輔助鎖定功能,則 SCSI reservation 是不必要的。16 、存儲(chǔ)多路徑技術(shù)簡(jiǎn)介 可以幫助解決存儲(chǔ)的存儲(chǔ)性能故障 支持下面幾種
53、 Path Selection Policy:o Most Recently Used(MRU)o Fixed(Fixed)o Round Robin(RR)o Maybe Third-Party(PSP)17 、VMware Virtual SAN 對(duì)于 DISK 性能相關(guān)18 、vFRC 概述 關(guān)鍵組件:o 內(nèi)置于 Hypervisor、軟件定義、SSD 配合 HDD 的分層存儲(chǔ)o 基于 Flash 設(shè)備提供針對(duì) VMs 的高性能讀取訪問(wèn)支持(Virtuall Flash Host Swap Cache)o 將本地設(shè)備配置為 Flash Cache.o 可以與下列組件結(jié)合: 要求 vSph
54、ere 5.5 Enterprise Plus VMware vCenter Server vSphere HA vSphere DRS VMware vSphere vMotion19 、vFRC 與 與 DISK 性能優(yōu)化20 、vFRC Volume 限制六、針對(duì) Networking 的性能優(yōu)化1 、網(wǎng)路相關(guān)的參數(shù) 衡量網(wǎng)路性能相關(guān)的參數(shù)有哪些? 通常,和網(wǎng)路相關(guān)的關(guān)鍵參數(shù)主要是和網(wǎng)路統(tǒng)計(jì)信息相關(guān)的部分,包括:o Network usageo Network packets receivedo Network packets transmittedo Received packets
55、droppedo Transmitteed packets dropped2 、vSphere Web Client 監(jiān)控網(wǎng)路相關(guān)信息4 、利用 resxtop 監(jiān)控網(wǎng)絡(luò)統(tǒng)計(jì)信息 輸入字母 n 可以查看網(wǎng)路相關(guān)的統(tǒng)計(jì)示意圖 相關(guān)重要參數(shù)包括:o MbTX/s: Data transmit rateo MbRX/s: Data receive rateo PKTTX/s: Packets transmittedo PKTRX/s: Packets receivedo %DRPTX: 傳輸?shù)膩G包率百分比o %DRPRX:接收包的丟包率百分比5 、vSphere Web Client 下查看網(wǎng)路性能
56、6 、利用 resxtop 查看網(wǎng)路性能7 、Network I/O Virtualization Overhead Network I/O Virtualization overhead 可能來(lái)自于不同的層面,例如:o Emulation 開(kāi)銷o 包處理過(guò)程中o 調(diào)度o 虛擬中斷組合o 物理 CPU 帶來(lái)的 Halt 和 Wake Upo 虛擬 CPU 帶來(lái)的 Halt 和 Wake Up Network I/O latency 也會(huì)由于網(wǎng)路虛擬化的開(kāi)銷導(dǎo)致增加8 、vmxnet 虛擬網(wǎng)路卡 vmxnet 是 VMware 的準(zhǔn)虛擬化設(shè)備,有如下優(yōu)勢(shì):o 在虛擬機(jī)和 VMkernel 之間共
57、享 Ring 的 Buffero 支持傳輸包聚合處理o 支持中斷聚合處理,以便減輕來(lái)自網(wǎng)路的中斷開(kāi)銷o 支持 Offloads TCP checksum 到硬件的計(jì)算9 、影響網(wǎng)路性能的相關(guān)組件 vSphere 通過(guò)結(jié)合物理網(wǎng)路卡的新特性,來(lái)實(shí)現(xiàn)針對(duì)網(wǎng)路性能的提升和保障,包括:o TCP checksum offload-簡(jiǎn)單說(shuō)就是利用網(wǎng)路卡進(jìn)行 TCP 校驗(yàn) TCP checksum offload 是物理網(wǎng)路卡的功能之一,它的好處在于: 允許利用網(wǎng)路卡針對(duì)網(wǎng)路包執(zhí)行 checksum 操作 降低來(lái)自物理 CPU 開(kāi)銷壓力 能夠根據(jù)包的大小來(lái)不同程度上提供更好的性能支持o TCP segmentation offload-簡(jiǎn)稱
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公積金個(gè)人貸款合同模板
- 銀行授信保證合同模板
- 苗木供應(yīng)商招募公告
- 標(biāo)準(zhǔn)家庭服務(wù)合同案例
- 沼氣工程可行性研究
- 租房協(xié)議合同的簽訂技巧與流程
- 安全欄桿采購(gòu)合同
- 漁業(yè)產(chǎn)品買(mǎi)賣合同
- 在線電子購(gòu)銷合同制作
- 藥材進(jìn)出口合同
- 黑龍江省齊齊哈爾市2025屆數(shù)學(xué)七年級(jí)第一學(xué)期期末考試試題含解析
- 成語(yǔ)故事-螳臂當(dāng)車-守株待兔-歷史典故講解
- 微機(jī)原理與接口技術(shù)智慧樹(shù)知到期末考試答案章節(jié)答案2024年西安工商學(xué)院
- 千分尺內(nèi)校操作指導(dǎo)書(shū)
- 個(gè)人與公司居間合同范本合集
- 2024年廣東能源集團(tuán)天然氣有限公司招聘筆試參考題庫(kù)附帶答案詳解
- (2024年)羊水栓塞完整版pptx
- 寧夏回族自治區(qū)中衛(wèi)市沙坡頭區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末語(yǔ)文試卷
- 2022-2023學(xué)年江蘇省蘇州市七年級(jí)(上)期末歷史試卷(含答案)
- 海綿城市改造工程施工組織設(shè)計(jì)樣本
- 腎病科主任述職報(bào)告
評(píng)論
0/150
提交評(píng)論