(2)事務(Transaction)的定義,pass/fail的標準
事務用來度量服務器的處理能力。事務定義應該從性能指標標準而來,是性能指標的具體體現。事務的定義是很重要的,不同的定義會導致不同的TPS結果。
(3)虛擬用戶pass/fail的標準
虛擬用戶是性能測試工具中的一個普遍的概念,虛擬用戶負責執行性能測試腳本,在這里應該定義虛擬用戶遇到何種情況,選擇fail或pass,即退出或通過。
1.3.4 Execution(執行)
本步驟的開始時間:軟件測試執行階段
本步驟的輸入:場景、交易、虛擬用戶等設置信息
本步驟的輸出:測試報告
執行測試包含兩個工作:
1.準備測試環境、數據和腳本
測試環境:硬件平臺和軟件平臺。
測試數據:包括初始測試數據和測試用例數據兩部分。表現為SQL腳本、Excel文件等。
測試腳本:用性能測試工具生成腳本。
2.運行場景和監控性能
運行性能測試場景,并監控設定好的數據指標,最終生成測試報告。按照定義好的場景pass/fail標準來判斷性能測試是否通過。如果未能通過,進入步驟5(Adjust)。
1.3.5 Adjust(調整)
本步驟的開始時間:第一輪性能測試結束后,而且沒有通過的條件下
本步驟的輸入:測試報告和測試結果數據
本步驟的輸出:性能問題解決方案
調整包含兩個意思:應用程序修改和中間件調優。
中間件調優可考慮如下因素操作系統調優:
Ÿ 數據庫調優;
Ÿ 內存升級;
Ÿ CPU數量;
Ÿ 代碼調優;
Ÿ Cache調優。
系統運行良好的時候恰恰也是各項資源達到了一個平衡體,任何一項資源的過度使用都會造成平衡體系破壞,從而造成系統負載極高或者響應遲緩。比如CPU過度使用會造成大量進程等待CPU資源,系統響應變慢,等待會造成進程數增加,進程增加又會造成內存使用增加,內存耗盡又會造成虛擬內存使用,使用虛擬內存又會造成磁盤IO增加和CPU開銷增加(用于進程切換、缺頁處理的CPU開銷)。
從以上內容可以看出,目前GAME(A)模型有兩個優勢:第一,靈活,每個過程都有自己的關注點,可以根據不同的項目特點增加或刪除關注點;第二,通用,不依賴于具體的工具。目前GAME(A)關注性能測試技術,比較簡單,將來可以進行擴展,同樣使用GAME(A)模型關注性能測試的時間、人力等資源問題。