前段時間有幸收到珠海X公司性能題目,呵呵,以下是對公司產(chǎn)品性能測試的總結。個人認為有關性能測試場景問題,其實更佳著重于對性能測試目的考究。
驗證測試是用于驗證在特定的場景、時間、壓力、環(huán)境和操作方式下系統(tǒng)能夠正常的運行,服務器、應用系統(tǒng)和網(wǎng)絡環(huán)境等軟硬件設施還能否良好的支撐這些情況下用戶的使用。驗證性測試主要針對有明確的壓力目標和預期結果,驗證系統(tǒng)在這種壓力下的各方面反映能夠達到預期結果。
主要分以下幾種:
壓力測試:已知系統(tǒng)高峰期使用人數(shù),驗證各事務在并發(fā)數(shù)(通過高峰期人數(shù)換算)下事務響應時間能夠達到客戶要求。系統(tǒng)各性能指標在這種壓力下是否還在正常數(shù)值之內(nèi)。系統(tǒng)是否會因這樣的壓力導致不良反應(如:宕機、應用異常中止等)。
Ramp Up 增量設計:如并發(fā)用戶為75人,系統(tǒng)注冊用戶為1500人,以5%-7%作為并發(fā)用戶參考值。一般以每15s加載5人的方式進行增壓設計,該數(shù)值主要參考測試加壓機性能,建議Run幾次。以事務與錯誤率衡量實際加載方式。
Ramp Up增量設計目標: 尋找已增量方式加壓系統(tǒng)性能瓶頸位置,抓住出現(xiàn)的性能拐點時機,一般常用參考Hits點擊率與吞吐量、CPU、內(nèi)存使用情況綜合判斷。模擬高峰期使用人數(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)是否會在測試期間內(nèi)發(fā)生如宕機、應用中止等異常情況。
根據(jù)上述測試中,各事務條件下出現(xiàn)性能拐點的位置,已確定穩(wěn)定性測試并發(fā)用戶人數(shù)。仍然根據(jù)實際測試服務器(加壓機、應用服務器、數(shù)據(jù)服務器三方性能),估算最終并發(fā)用戶人數(shù)。
場景設計思想:從穩(wěn)定性測試場景的設計意義,應分多種情況考慮:
針對同一個場景為例,以下以公文附件上傳為例簡要分析場景設計思想:
1)場景一:已壓力測試環(huán)境下性能拐點的并發(fā)用戶為設計測試場景,目的驗證極限壓力情況下測試服務器各性能指標。
驗證測試是用于驗證在特定的場景、時間、壓力、環(huán)境和操作方式下系統(tǒng)能夠正常的運行,服務器、應用系統(tǒng)和網(wǎng)絡環(huán)境等軟硬件設施還能否良好的支撐這些情況下用戶的使用。驗證性測試主要針對有明確的壓力目標和預期結果,驗證系統(tǒng)在這種壓力下的各方面反映能夠達到預期結果。
主要分以下幾種:
壓力測試:已知系統(tǒng)高峰期使用人數(shù),驗證各事務在并發(fā)數(shù)(通過高峰期人數(shù)換算)下事務響應時間能夠達到客戶要求。系統(tǒng)各性能指標在這種壓力下是否還在正常數(shù)值之內(nèi)。系統(tǒng)是否會因這樣的壓力導致不良反應(如:宕機、應用異常中止等)。
Ramp Up 增量設計:如并發(fā)用戶為75人,系統(tǒng)注冊用戶為1500人,以5%-7%作為并發(fā)用戶參考值。一般以每15s加載5人的方式進行增壓設計,該數(shù)值主要參考測試加壓機性能,建議Run幾次。以事務與錯誤率衡量實際加載方式。
Ramp Up增量設計目標: 尋找已增量方式加壓系統(tǒng)性能瓶頸位置,抓住出現(xiàn)的性能拐點時機,一般常用參考Hits點擊率與吞吐量、CPU、內(nèi)存使用情況綜合判斷。模擬高峰期使用人數(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)是否會在測試期間內(nèi)發(fā)生如宕機、應用中止等異常情況。
根據(jù)上述測試中,各事務條件下出現(xiàn)性能拐點的位置,已確定穩(wěn)定性測試并發(fā)用戶人數(shù)。仍然根據(jù)實際測試服務器(加壓機、應用服務器、數(shù)據(jù)服務器三方性能),估算最終并發(fā)用戶人數(shù)。
場景設計思想:從穩(wěn)定性測試場景的設計意義,應分多種情況考慮:
針對同一個場景為例,以下以公文附件上傳為例簡要分析場景設計思想:
1)場景一:已壓力測試環(huán)境下性能拐點的并發(fā)用戶為設計測試場景,目的驗證極限壓力情況下測試服務器各性能指標。