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