分享:簡析服務(wù)器基準(zhǔn)測試方法與誤區(qū) |
發(fā)布時間: 2012/5/25 19:26:41 |
中國IDC評述網(wǎng)08月12日報道:給某個應(yīng)用程序分配太多的內(nèi)存實際上會影響服務(wù)器正在運行的進程的性能。事實上,錯誤的內(nèi)存利用率可能會導(dǎo)致系統(tǒng)性能的下降。 在使用PerfMon進行服務(wù)器基準(zhǔn)測試之前,我們將介紹幾個技巧來檢測服務(wù)器的內(nèi)存使用情況,以確保內(nèi)存分配不會影響服務(wù)器性能。 Memory:AvailableBytes-這個功能檢測操作系統(tǒng)(OS)的物理內(nèi)存總量,并計算服務(wù)器上運行所有必須進程和應(yīng)用程序所需的內(nèi)存。 Memory:CommittedBytes-追蹤運行時的峰值并進行對比。使用這個功能可監(jiān)測運行波峰和波谷的情況以了解服務(wù)器的性能。除了運行進程和程序所需的內(nèi)存外,你至少得保證4MB或5%以上的可用內(nèi)存。 Memory:PageFaults/sec--這個功能測量當(dāng)應(yīng)用程序試圖從本地虛擬內(nèi)存中讀取時發(fā)生“不存在”的頁面錯誤。在理論情況下,零是最優(yōu)的測量數(shù)據(jù)。任何測量數(shù)據(jù)都不可能達到零延遲響應(yīng)時間。注意,Memory:PageFaults/sec這個功能不但記錄硬頁面錯誤,還會記錄軟頁面錯誤。當(dāng)文件從硬盤讀取而非虛擬內(nèi)存中讀取時就會發(fā)生硬頁面錯誤。另一方面,物理內(nèi)存已存在的頁面錯誤終止了進程就會發(fā)生軟頁面錯誤,但其幾乎不會對性能產(chǎn)生影響。 注意處理器數(shù)量,尤其是試圖取得每個處理器的最大線程時。注意“環(huán)境切換”發(fā)生的次數(shù)。 當(dāng)操作系統(tǒng)(OS)的內(nèi)核或核心把處理程序從一個線程切換到另一個線程時,就會發(fā)生“環(huán)境切換”。環(huán)境切換應(yīng)當(dāng)及時避免,因為每次環(huán)境切換都是處理器L1和L2緩存被刷新并重新寫入。緩存刷新和再次寫入需要寶貴的時間,并降低系統(tǒng)的性能。 Process:ThreadCount:Inetinfo--統(tǒng)計Inetinfo運行創(chuàng)建的線程數(shù),并顯示最新值。 Thread:%ProcessorTime:Inetinfo=>Thread#--測量Inetinfo進程中每個線程使用的處理器時間。 Thread:ContextSwitches:sec:Inetinfo=>Thread#--測量每個處理器或線程池的最大線程數(shù)。監(jiān)測這個參數(shù)很重要,其可預(yù)防產(chǎn)生大量的環(huán)境切換。否則,環(huán)境切換會占用內(nèi)存并失去多線程的優(yōu)勢,而此時的性能將降低而非提高。 測量并分析 遺憾的是,關(guān)于服務(wù)器和處理器測量方面的內(nèi)容實在太寬泛了,以致在本文中無法一一分析。但是,在大多數(shù)情況下,系統(tǒng)性能和指標(biāo)測試可分為一下幾個類型: 內(nèi)存管理 網(wǎng)絡(luò)能力 處理器能力 磁盤優(yōu)化 通過以上的分類,測試工程師能夠得到一些可靠的基準(zhǔn)測試結(jié)果,并利用其以更好地提高整體服務(wù)器環(huán)境。 當(dāng)服務(wù)器環(huán)境下的所有測試都執(zhí)行完以后,用記錄的數(shù)據(jù)進行基準(zhǔn)和參數(shù)評估。 謹慎對待廠商提供的基準(zhǔn)測試結(jié)果。供應(yīng)商往往會為了突出自己的產(chǎn)品而調(diào)整行業(yè)標(biāo)準(zhǔn)的基準(zhǔn)測試結(jié)果。這就意味著,其產(chǎn)品基準(zhǔn)測試結(jié)果可能不太適合您獨特的環(huán)境。例如,假設(shè)IT經(jīng)理要購買應(yīng)用程序以處理存儲在服務(wù)器上的用戶數(shù)據(jù)庫。該應(yīng)用程序的測試數(shù)據(jù)顯示其能在Server2008box上運行良好,并有快速的響應(yīng)時間。盡管這看起來不錯,但其未必適合您的運行環(huán)境。舉例來說,供應(yīng)商的應(yīng)用程序是在一個單一的、增強服務(wù)器上運行測試的,而你的卻是在一個共享資源的虛擬機上運行。 注意,供應(yīng)商的目的是為了向你推銷軟件,因此其參數(shù)就會有一些水分。這樣做的結(jié)果就是紙上的參數(shù)很高,但可能在真實環(huán)境下就會大打折扣?赡艽蟮挠布蛙浖䦶S商不會這樣做,但較小的經(jīng)銷商普遍都會稍微更改相關(guān)的參數(shù)。例如,硬件設(shè)備在廣域網(wǎng)上的VPN鏈接能力可能有較好的交付時間,因為在基準(zhǔn)測試時優(yōu)化了該硬件。但是,安裝到現(xiàn)場之后顯示,其速度大多會降低20%—30%。 因此,被推薦的設(shè)備或應(yīng)用程序必須要進行嚴(yán)格的測試、評估。不要只看重一個基準(zhǔn)。在進行服務(wù)器基準(zhǔn)測試時,盡可能多地測試各個元件。不要只是看重一個因素,如CPU速度等。觀察服務(wù)器各個因素的運行情況以讓工程師更加了解服務(wù)器在各種環(huán)境下的整體運行效果,這樣有助于追蹤并糾正將來業(yè)績方面的問題。 注意基準(zhǔn)服務(wù)供應(yīng)商。如果你計劃將基準(zhǔn)測試和指標(biāo)測試進行外包的話,一定要實現(xiàn)進行調(diào)查、評估。很多時候,著名的咨詢公司都不遵守甚至無視最基本的科學(xué)方法。例如,小型服務(wù)器和應(yīng)用程序取樣規(guī)格、缺乏變量控制、有限的測試結(jié)果重復(fù)性、測試軟件少以及硬件數(shù)值偏差等。當(dāng)然遠遠還不止這些。尋找數(shù)值極限,例如,SQL服務(wù)器上運行的方式應(yīng)當(dāng)優(yōu)于其使用的硬件。 含混不清的硬件規(guī)格也是一個危險信號。如果供應(yīng)商只是列出了硬件——如雙核處理器、4GBRAM、512MB顯卡等——但卻沒有提供關(guān)于硬件的詳細介紹,那么你也應(yīng)當(dāng)注意?紤]計算出基準(zhǔn)測試中每個變量的微小細節(jié)。在這種情況下,處理器的類型是什么?安裝的是什么類型的RAM以及顯卡型號是什么?所有這些細節(jié)都會產(chǎn)生不同的結(jié)果。 需要注意的一點是,每一個環(huán)境都是獨特的,并有其自己的特定需求。使用類似PerfMon工具進行基準(zhǔn)測試是一個有無數(shù)變量的持續(xù)過程,而這些變量毫無疑問都將影響到您的測試結(jié)果數(shù)據(jù)。通過規(guī)劃測試并遵循可靠的科學(xué)方法,測試工程師可以更精確地評估硬件和軟件的運行情況。如果測試得當(dāng),良好的基準(zhǔn)分析可以為提高服務(wù)器架構(gòu)性能提供參考信息。 本文出自:億恩科技【www.allwellnessguide.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |