系統(tǒng)壓力測試的流程是什么?
系統(tǒng)壓力測試的流程是什么?
編寫壓力測試計劃
編寫壓力測試計劃分為三個階段:分析數據庫應用系統(tǒng)、定義壓力測試對象與目標、評審修改壓力測試計劃。
分析應用系統(tǒng):一要搞清系統(tǒng)對各個資源的分布和使用情況,它將幫助確定可能系統(tǒng)性能的瓶頸;二是用戶在事務中的分布,它將確定壓力測試的針對點。定義壓力測試目標:測定終端用戶事務的響應時間、定義主機最優(yōu)配置(如內存、CPU、緩存、適配等)、尋找瓶頸(通過壓力測試,要找到降低系統(tǒng)響應時間的因素。是資源競爭到導致死鎖?還是數據庫服務器數據鎖設置不好?還是網絡傳輸問題?)。評審修改壓力測試計劃:壓力測試計劃完成后,要對其進行評審。壓力測試計劃書的評審人員應包括有經驗的用戶,軟件需求分析員,系統(tǒng)設計員,系統(tǒng)開發(fā)員,軟件測試員,然后根據評審意見修訂并完成測試壓力計劃書。
編寫壓力測試案例
壓力測試案例是完成一個測試目的的一組測試時間的序列,測試案例要包括以下幾個要素:測試目的,測試環(huán)境,測試數據,測試運行程序(可以是腳本),預期結果等。
多進程模擬多用戶
壓力測試的執(zhí)行通常是通過自動化工具執(zhí)行腳本語言,或通過發(fā)包程序發(fā)送數據包實現的。前者是通過多進為程運行相同或不同的測試腳本,來模擬多個用戶執(zhí)行相同或不同的任務,實現壓力測試。后者要求熟悉數據包的格式,并進行設置。
設置并發(fā)點
一個測試腳本常常包含多個事務,即使多個進程同時運行一個腳本,也難以保證腳本內的某個事務同時運行,這將影響對這個事務的響應時間的測試。為了解決這個問題,需要沒置并發(fā)點,先運行到并發(fā)點的進程將等待,當所有進程都運行到并發(fā)點時,進行釋放,使所有的進程同時運行同一個事務,這樣就可以測定與實際比較接近的響應時間。
運行測試程序并監(jiān)測系統(tǒng)資源
運行壓力測試時還需監(jiān)測系統(tǒng)資源,監(jiān)測的對象有:網絡阻塞情況、主機CPU使用情況、內存使用情況、緩存使用情況、數據庫系統(tǒng)中的數據鎖、回滾段、重做日志緩沖區(qū)等。監(jiān)測的結果包括圖像與數據文件,并且圖像可以實時顯示,也可運行結束后分析。
分析結果
壓力測試運行結束后,把所有記錄的數據匯總并記錄劍文什中。必須對測試的結果進行分析,才能得到結論??梢允褂靡恍﹫D形來比較、觀察測試結果。
優(yōu)化調整設置
CPU問題:在CPU受到限制的系統(tǒng)中,CPU資源全被使用,并且服務響應時間會很長。這種情況下,必須提高系統(tǒng)的處理能力;
內存與高速緩存問題:內存的優(yōu)化包括操作系統(tǒng),數據庫,應用程序的內存優(yōu)化;磁盤(I/O)資源問題:磁盤讀寫速度對數據庫系統(tǒng)是至關重要的,數據庫對象在物理設備上的合理分布能改善性能。
調整配置參數:參數配置包括操作系統(tǒng)和數據庫的參數配置:優(yōu)化應用系統(tǒng)網絡設置。
提交測試報告
當壓力測試結果可以滿足預期需求,或優(yōu)化和調整已無法改善結果時,最后提交測試報告。在報告中要包括測試提要、測試環(huán)境和測試結果,提要應該簡單說明測試方法策略范圍內容;測試環(huán)境應包括資源開銷,環(huán)境配置等。結果測試必須包括測試是否通過或拒絕,及對測試的結論應進行說明,對系統(tǒng)的性能做出評價。