四、負載目標選擇
1. 有明確交易量的應用
通過上面對各種典型負載指標的分析可以看出,以TPS衡量的事務處理能力是最準確的負載目標。通過生產日志或相似系統的交易量可以算出TPS均值、峰值。根據2/8原則和業務擴展可估算更高的峰值。銀行的聯機類應用屬于典型的有明確交易量的應用系統。
LoadRunner中可以通過設置Run-Time Settings的Pacing為At fixed intervals, every 1 sec,來控制每次迭代執行時間為1秒。如果迭代腳本里只定義一個Transaction,且TRT小于1秒,則VUser數量=并發用戶數量=TPS,可以通過調節VUser數量方便控制負載目標。注意,如果迭代中包含多個Transaction,或TRT隨著TPS目標的增加而變大,則需以TPS目標為基礎,實時調整VUser數量和這里every N sec里的間隔時間。
2. 無明確交易量的應用
無明確交易量的被測應用建議以確定最大事務處理能力為目標。設置Pacing為As soon as the previous iteration ends,刪除thinktime,部署發壓工具和被測應用在同一網段,無網絡瓶頸,讓VUser能對被測應用產生最大負載。弱化VUser數量聽上去的意義,遞增直到達到被測應用的最大事務處理能力或其他性能指標閥值(如成功率或TRT)。新業務和經管類Web應用屬于無明確交易量的應用系統。
3. VUser的意義
盡管建議在確定負載目標時弱化VUser的意義,但測試中還要注意一種情況,如果被測應用有具體的操作用戶數量,如只有簽到或登錄的用戶才能提交交易,則VUser的數量不能高于實際注冊用戶數量。就按照最大用戶數量加壓,以需求要求的TRT為目標調優被測應用,盡量提高TPS。