億恩科技總結服務器穩(wěn)定性測試方法 |
發(fā)布時間: 2012/10/10 13:49:48 |
如果服務器不夠穩(wěn)定將會嚴重影響企業(yè)業(yè)務運行,為企業(yè)利益造成損失。正規(guī)的服務器廠商都會對產(chǎn)品驚醒不同溫度和濕度下的運行穩(wěn)定性測試。重點要考慮的是冗余功能,如:數(shù)據(jù)冗余、網(wǎng)卡榮譽、電源冗余、風扇冗余等。 一些測試方法主要分以下幾種: 壓力測試:已知系統(tǒng)高峰期使用人數(shù),驗證各事務在最大并發(fā)數(shù)(通過高峰期人數(shù)換算)下事務響應時間能夠達到客戶要求。系統(tǒng)各性能指標在這種壓力下是否還在正常數(shù)值之內。系統(tǒng)是否會因這樣的壓力導致不良反應(如:宕機、應用異常中止等)。 Ramp Up 增量設計:如并發(fā)用戶為75人,系統(tǒng)注冊用戶為1500人,以5%-7%作為并發(fā)用戶參考值。一般以每15s加載5人的方式進行增壓設計,該數(shù)值主要參考測試加壓機性能,建議Run幾次。以事務通過率與錯誤率衡量實際加載方式。 Ramp Up增量設計目標: 尋找已增量方式加壓系統(tǒng)性能瓶頸位置,抓住出現(xiàn)的性能拐點時機,一般常用參考Hits點擊率與吞吐量、CPU、內存使用情況綜合判斷。模擬高峰期使用人數(shù),如早晨的登錄,下班后的退出,工資發(fā)送時的消息系統(tǒng)等。 另一種極限模擬方式,可視為在峰值壓力情況下同時點擊事務操作的系統(tǒng)極限操作指標。加壓方式不變,在各腳本事務點中設置同集合點名稱(如:lr_rendzvous("same");)在場景設計中,使用事務點集合策略。以同時達到集合點百分率為標準,同時釋放所有正在Run的Vuser。 穩(wěn)定性測試:已知系統(tǒng)高峰期使用人數(shù)、各事務操作頻率等。設計綜合測試場景,測試時將每個場景按照一定人數(shù)比率一起運行,模擬用戶使用數(shù)年的情況。并監(jiān)控在測試中,系統(tǒng)各性能指標在這種壓力下是否能保持正常數(shù)值。事務響應時間是否會出現(xiàn)波動或隨測試時間增漲而增加。系統(tǒng)是否會在測試期間內發(fā)生如宕機、應用中止等異常情況。 根據(jù)上述測試中,各事務條件下出現(xiàn)性能拐點的位置,已確定穩(wěn)定性測試并發(fā)用戶人數(shù)。仍然根據(jù)實際測試服務器(加壓機、應用服務器、數(shù)據(jù)服務器三方性能),估算最終并發(fā)用戶人數(shù)。 場景設計思想: 從穩(wěn)定性測試場景的設計意義,應分多種情況考慮: 針對同一個場景為例,以下以公文附件上傳為例簡要分析場景設計思想: 1)場景一:已壓力測試環(huán)境下性能拐點的并發(fā)用戶為設計測試場景,目的驗證極限壓力情況下測試服務器各性能指標。 2)場景二:根據(jù)壓力測試環(huán)境中CPU、內存等指標選取服務器所能承受最大壓力的50%來確定并發(fā)用戶數(shù)。 測試方法:采用1)Ramp Up-Load all Vusers simultaneously 2)Duration-Run Indefinitely 3)在Sechedule-勾選Initalize all Vusers before Run 容錯性測試:通過模擬一些非正常情況(如:服務器突然斷電、網(wǎng)絡時斷時續(xù)、服務器硬盤空間不足等),驗證系統(tǒng)在發(fā)生這些情況時是否能夠有自動處理機制以保障系統(tǒng)的正常運行或恢復運行措施。如有HA(自動容災系統(tǒng)),還可以專門針對這些自動保護系統(tǒng)進行另外的測試。驗證其能否有效觸發(fā)保護措施。 問題排除性測試:通過原有案例或經(jīng)驗判斷,針對系統(tǒng)中曾經(jīng)發(fā)生問題或懷疑存在隱患的模塊進行驗證測試。驗證這些模塊是否還會發(fā)生同樣的性能問題。如:上傳附件模塊的內存泄露問題、地址本模塊優(yōu)化、開啟Tivoli性能監(jiān)控對OA系統(tǒng)性能的影響等等。 測評測試是用于獲取系統(tǒng)的關鍵性能指標點,而進行的相關測試。主要是針對預先沒有明確的預期測試結果,而是要通過測試獲取在特定壓力場景下的性能指標(如:事務響應時間、最大并發(fā)用戶數(shù)等)。 評測事務交易時間:為獲取某事務在特定壓力下的響應時間而進行的測試活動。通過模擬已知客戶高峰期的各壓力值或預期所能承受的壓力值,獲取事務在這種壓力下的響應時間。 評測事務最大并發(fā)用戶數(shù):為獲取某事務在特定系統(tǒng)環(huán)境下所能承受的最大并發(fā)用戶數(shù)而進行的測試活動。通過模擬真實環(huán)境或直接采用真實環(huán)境,評測在這種環(huán)境下事務所能承受的最大并發(fā)用戶數(shù)。判定標準閾值需預先定義(如響應時間,CPU占用率,內存占用率,已出現(xiàn)點擊率峰值,已出現(xiàn)吞吐量峰值等)。 評測系統(tǒng)最大并發(fā)用戶數(shù):為獲取整個系統(tǒng)所能夠承受的最大并發(fā)用戶數(shù)而進行的的測試活動。通過預先分析項目各主要模塊的使用比率和頻率,定義各事務在綜合場景中所占的比率,以比率方式分配各事務并發(fā)用戶數(shù)。模擬真實環(huán)境或直接采用真實環(huán)境,評測在這種環(huán)境下系統(tǒng)所能承受的最大并發(fā)用戶數(shù)。判定標準閥值預先定義(如響應時間,CPU占用率,內存占用率,已出現(xiàn)點擊率峰值,已出現(xiàn)吞吐量峰值等)。取值標準以木桶法則為準(并發(fā)數(shù)最小的事務為整個系統(tǒng)的并發(fā)數(shù))。 評測不同數(shù)據(jù)庫數(shù)據(jù)量對性能的影響:針對不同數(shù)據(jù)庫數(shù)據(jù)量的測試,將測試結果進行對比,分析發(fā)現(xiàn)數(shù)據(jù)庫中各表的數(shù)據(jù)量對事務性能的影響。得以預先判斷系統(tǒng)長時間運行后,或某些模塊客戶要求數(shù)據(jù)量較大時可能存在的隱患。 問題定位測試在通過以上測試或用戶實際操作已經(jīng)發(fā)現(xiàn)系統(tǒng)中的性能問題或懷疑已存在性能問題。需通過響應的測試場景重現(xiàn)問題或定義問題。如有可能,可以直接找出引起性能問題所在的代碼或模塊。該類測試主要還是通過測試出問題的腳本場景,并可以增加發(fā)現(xiàn)和檢測的工具,如開啟Tivoli性能監(jiān)控、開啟HeapDump輸出、Linux資源監(jiān)控命令等。并在場景運行過程中輔以手工測試。 本文出自:億恩科技【www.vbseamall.com】 |