性能測試之場景設(shè)計思想

字號:

前段時間有幸收到珠海X公司性能題目,呵呵,以下是對公司產(chǎn)品性能測試的總結(jié)。個人認(rèn)為有關(guān)性能測試場景問題,其實更佳著重于對性能測試目的考究。
    驗證測試是用于驗證在特定的場景、時間、壓力、環(huán)境和操作方式下系統(tǒng)能夠正常的運行,服務(wù)器、應(yīng)用系統(tǒng)和網(wǎng)絡(luò)環(huán)境等軟硬件設(shè)施還能否良好的支撐這些情況下用戶的使用。驗證性測試主要針對有明確的壓力目標(biāo)和預(yù)期結(jié)果,驗證系統(tǒng)在這種壓力下的各方面反映能夠達(dá)到預(yù)期結(jié)果。
    主要分以下幾種:
    壓力測試:已知系統(tǒng)高峰期使用人數(shù),驗證各事務(wù)在并發(fā)數(shù)(通過高峰期人數(shù)換算)下事務(wù)響應(yīng)時間能夠達(dá)到客戶要求。系統(tǒng)各性能指標(biāo)在這種壓力下是否還在正常數(shù)值之內(nèi)。系統(tǒng)是否會因這樣的壓力導(dǎo)致不良反應(yīng)(如:宕機(jī)、應(yīng)用異常中止等)。
    Ramp Up 增量設(shè)計:如并發(fā)用戶為75人,系統(tǒng)注冊用戶為1500人,以5%-7%作為并發(fā)用戶參考值。一般以每15s加載5人的方式進(jìn)行增壓設(shè)計,該數(shù)值主要參考測試加壓機(jī)性能,建議Run幾次。以事務(wù)與錯誤率衡量實際加載方式。
    Ramp Up增量設(shè)計目標(biāo): 尋找已增量方式加壓系統(tǒng)性能瓶頸位置,抓住出現(xiàn)的性能拐點時機(jī),一般常用參考Hits點擊率與吞吐量、CPU、內(nèi)存使用情況綜合判斷。模擬高峰期使用人數(shù),如早晨的登錄,下班后的退出,工資發(fā)送時的消息系統(tǒng)等。
    另一種極限模擬方式,可視為在峰值壓力情況下同時點擊事務(wù)操作的系統(tǒng)極限操作指標(biāo)。加壓方式不變,在各腳本事務(wù)點中設(shè)置同集合點名稱(如:lr_rendzvous("same");)在場景設(shè)計中,使用事務(wù)點集合策略。以同時達(dá)到集合點百分率為標(biāo)準(zhǔn),同時釋放所有正在Run的Vuser。
       穩(wěn)定性測試:已知系統(tǒng)高峰期使用人數(shù)、各事務(wù)操作頻率等。設(shè)計綜合測試場景,測試時將每個場景按照一定人數(shù)比率一起運行,模擬用戶使用數(shù)年的情況。并監(jiān)控在測試中,系統(tǒng)各性能指標(biāo)在這種壓力下是否能保持正常數(shù)值。事務(wù)響應(yīng)時間是否會出現(xiàn)波動或隨測試時間增漲而增加。系統(tǒng)是否會在測試期間內(nèi)發(fā)生如宕機(jī)、應(yīng)用中止等異常情況。
    根據(jù)上述測試中,各事務(wù)條件下出現(xiàn)性能拐點的位置,已確定穩(wěn)定性測試并發(fā)用戶人數(shù)。仍然根據(jù)實際測試服務(wù)器(加壓機(jī)、應(yīng)用服務(wù)器、數(shù)據(jù)服務(wù)器三方性能),估算最終并發(fā)用戶人數(shù)。
    場景設(shè)計思想:從穩(wěn)定性測試場景的設(shè)計意義,應(yīng)分多種情況考慮:
    針對同一個場景為例,以下以公文附件上傳為例簡要分析場景設(shè)計思想:
    1)場景一:已壓力測試環(huán)境下性能拐點的并發(fā)用戶為設(shè)計測試場景,目的驗證極限壓力情況下測試服務(wù)器各性能指標(biāo)。