虛擬化技術(shù)會碰到性能瓶頸而停滯不前嗎?
譯文對如今的IT提供者來說,最棘手的挑戰(zhàn)之一就是為應(yīng)用程序保證擁有一定級別的“響應(yīng)時間”。對許多企業(yè)應(yīng)用程序來說,性能絕對至關(guān)重要,這常常導(dǎo)致了過度配置的專用基礎(chǔ)設(shè)施,因而成本高昂。遺憾的是,像虛擬化和云計算架構(gòu)這些廣泛的技術(shù)演進雖然為大批的數(shù)據(jù)中心大幅提高了效率和靈活性,但是實際上也為確保關(guān)鍵應(yīng)用程序擁有穩(wěn)定一致的性能加大了難度。
比如說,像VMware vSphere和微軟Hyper-V這些解決方案對大量服務(wù)器未得到充分利用的數(shù)據(jù)中心來說無異于福音,因為它們能夠整合大量的服務(wù)器,從而為公司節(jié)省了費用,帶來了新模式(即云計算),而且給人類環(huán)境帶來了積極的影響。不過說到托管運行關(guān)注性能的應(yīng)用程序,大型虛擬化項目往往停滯不前。目前,這些x86服務(wù)器虛擬化的動態(tài)基礎(chǔ)設(shè)施無法提供一種簡單的方法,以便應(yīng)用程序分配“實際性能級別”,就像輕松分配一定容量的虛擬資源(如處理器和磁盤空間)那樣。此外,由于隱藏了資源爭奪,動態(tài)共享資源,以及優(yōu)化以獲得最大的利用率,虛擬化解決方案可能會帶來另外的挑戰(zhàn)。
不過好消息是,額外的性能管理可以幫助IT人員對要求性能有保證的應(yīng)用程序進行虛擬化,識別性能何時出現(xiàn)異常,以及迅速發(fā)現(xiàn)哪里可能隱藏著資源爭奪和瓶頸。我們已列出了一些解決方案,它們有助于迎面應(yīng)對這些性能方面的挑戰(zhàn)。不過,為了真正明白為何這些解決方案必不可少,先不妨了解一下為何如今IT環(huán)境下的性能面臨如此之嚴(yán)峻的挑戰(zhàn)。
性能瓶頸是盲目追求利用率的結(jié)果
虛擬化技術(shù)主要旨在高效地共享成本高昂的IT資源,它力求從物理基礎(chǔ)設(shè)施獲得最高的利用率。而由于虛擬化資源能夠獨立于其他IT領(lǐng)域,進行管理和優(yōu)化,所以虛擬化成了一種動態(tài)靈活的方式,可以在應(yīng)用程序之間分配和均衡資源。力求實現(xiàn)這樣的效率目標(biāo)起初似乎可以在資本資產(chǎn)所作的經(jīng)濟投入方面帶來最大的投資回報,但是虛擬化會帶來與性能有關(guān)的重大挑戰(zhàn),包括如下:
•無法就像用戶分配一定數(shù)量的資源那樣可以輕松地精確調(diào)控性能。性能不是一種可以分配的簡單資源,而是一種復(fù)雜情況的結(jié)果,這種復(fù)雜情況與爭奪資源的客戶之間的非線性交互聯(lián)系有關(guān)——虛擬化因虛擬配置、分配策略、主機調(diào)度和動態(tài)負(fù)載均衡而增添了復(fù)雜性。
•不知道性能的實際情況怎樣。無法通過簡單的利用率度量標(biāo)準(zhǔn)來全面地衡量或管理性能。遺憾的是,許多IT性能管理解決方案分析的對象只是本來就已被衡量的資源利用率“百分比”。
•性能因故意忙碌的系統(tǒng)而下降。內(nèi)部利用率提高后,系統(tǒng)的性能自然而然隨之下降。重要的是,如果利用率超過了一個固有的,但是很難察覺的拐點,性能下降得更厲害。一味地旨在最大限度地提高利用率,只會徹底毀了性能。
•對其他領(lǐng)域茫然無知,不知道誰其實在共享或爭奪哪些實際的資源。最終,確保客戶有良好的性能需要獲得可視性,以便全面了解整套IT基礎(chǔ)設(shè)施的情況,包括應(yīng)用程序、服務(wù)器和存儲系統(tǒng)等部分。虛擬化會讓用戶很難察覺基礎(chǔ)設(shè)施共享池里面以及隱藏在虛擬化領(lǐng)域下面及之間的資源爭奪的根源和影響。
有些IT架構(gòu)盲目地追求優(yōu)化以獲得最高的利用率,因而讓用戶很難搞清楚誰其實在進行什么操作,這樣的架構(gòu)并不適合托管運行關(guān)注性能的應(yīng)用程序——也就是說,最至關(guān)重要的應(yīng)用程序。但這種情況并非無藥可救。如今市場上有一些解決方案,旨在幫助IT人員在動態(tài)的IT基礎(chǔ)設(shè)施環(huán)境下進行側(cè)重性能方面的管理。
#p#
預(yù)期性能管理
從應(yīng)用程序的角度來看,它從基礎(chǔ)設(shè)施得到的性能是從所有部件:處理器、內(nèi)存、網(wǎng)絡(luò)和存儲系統(tǒng)得到的性能總和。IT性能管理本身就是一個跨領(lǐng)域的問題。不過,許多管理解決方案從“孤島”或單元的視角來看待性能。雖然影響性能的一些問題確實來自硬件故障或操作錯誤,但是性能下降還可能源自非故障問題,包括隱藏的利用率瓶頸、非故意的共享和爭奪,甚至動態(tài)“抖動”(thrashing)。只有結(jié)合多個領(lǐng)域全盤看待問題時,才能發(fā)現(xiàn)許多這些性能問題。
說到性能管理,許多IT部門還是抱著一種中斷/修復(fù)(break/fix)的被動心態(tài)。作為日趨成熟的性能管理方法,一個好辦法就是估算用于積極主動地管理環(huán)境的關(guān)鍵性能指標(biāo),并且著眼于優(yōu)化。比如說,VMware的vCenter操作管理器(vCenter Operations Manager)可以生成運行狀況、風(fēng)險和效率方面的KPI。如果慎重設(shè)立降低或優(yōu)化這類KPI的目標(biāo),IT部門甚至可以跟蹤它們自己的相對績效。
只有充分理解了基礎(chǔ)設(shè)施的利用率與提供的性能之間的關(guān)系,走虛擬化之路的企業(yè)才真正變得諳熟性能。深入了解性能的一個方式就是借助先進的分析建模方法,運用數(shù)學(xué)方法把資源利用率與預(yù)期的性能聯(lián)系起來。“模型”越準(zhǔn)確,IT部門越能積極、準(zhǔn)確地做出配置、部署和操作方面的決策,從而提供預(yù)期的基于性能的服務(wù)級別。確保性能的關(guān)鍵是建模,建模工作不僅僅限于簡單地確定應(yīng)用程序的容量需求是不是“適合”,還要預(yù)測因而獲得的“響應(yīng)時間”性能是不是可以接受。
#p#
提供可限制的性能承諾
由于上面介紹的許多原因,在優(yōu)化容量的虛擬化環(huán)境下很難托管運行關(guān)注性能的應(yīng)用程序。我還聽到了許多人的不滿:在本該廉價、彈性的云計算環(huán)境下過度配置,因而導(dǎo)致成本過高——可能在重復(fù)IT人員常常在專用基礎(chǔ)設(shè)施環(huán)境下保證性能的糟糕方式。
在這兩種情況下,我認(rèn)為,許多IT部門已經(jīng)過早地丟棄了基于性能的容量規(guī)劃以提升性能,改而采用更簡單的解決方案,這類解決方案致力于容量管理以提升效率。這不僅妨礙了IT人員實現(xiàn)具體的性能目標(biāo)的能力,而且還涉及態(tài)度問題:只注重為內(nèi)部效益而管理,而不是為了給客戶帶來高質(zhì)量服務(wù)而管理。
好消息是,額外的性能管理可以幫助IT人員重新激活虛擬化項目,托管運行要求性能有保證的關(guān)鍵應(yīng)用程序。好的解決方案在必要時可以穿透虛擬化層,發(fā)現(xiàn)爭奪資源的根源以及影響性能的其他問題。它們有助于跨IT領(lǐng)域(包括服務(wù)器和存儲系統(tǒng)),評估和報告所提供的性能。而幫助IT人員實現(xiàn)具體的性能目標(biāo),并且對重要應(yīng)用程序進行虛擬化,關(guān)鍵在于這類解決方案能預(yù)測未來。
http://virtualizationreview.com/Articles/2013/02/20/Virtualization-Stalled-Performance.aspx?Page=1