《捉蟲記——大容量Web應用效能測試與LoadRunner實戰》讀書筆記
阿新 • • 發佈:2018-12-30
最近看了《捉蟲記——大容量Web應用效能測試與LoadRunner實戰》,關於Web端測試和LoadRunner的基本使用做一點筆記,後面可以再補充學習。
強調一點,平臺測試也很重要,就是指不同作業系統下的不同版本,eg:windows下不同版本對於瀏覽器播放外掛的相容、支援方式等都會有差別,所以這不僅僅是瀏覽器的測試,平臺測試也很重要
Web效能測試方法(這裡是廣義的效能測試)
- 效能測試(這裡是狹義的效能測試):
- 響應時間:業界標準——3/5/10原則,即在3s內響應並顯示是”不錯的“;在3-5s內響應並顯示是”好的“;在5-10s內是”勉強可以接受的“;超過10s一般使用者會放棄等待 2.
- 壓力測試:對系統施壓,是系統資源佔有保持在一個事先約定的水平(eg:cup佔比:75%),來檢驗系統的表現
- 負載測試:不斷對系統增加負荷,直到找到系統不可用臨界點的過程,即找到系統處理能力的極限
- 併發測試:重點關注記憶體洩漏、資源爭用、執行緒控制(鎖)
- 配置測試:不斷調整軟硬體引數,最終定位最優配置
- 可靠性測試/耐久度測試
- 尖峰衝擊測試:針對某一時刻,使用者數量突然暴增的情形,一般用工具LoadRunner模擬
- 失敗恢復測試:針對網站突然訪問故障的情形,一般採用冗餘備份、負載均衡來改善
效能測試計數器
- windows下輸入perfmon,檢視效能計數器
- 記憶體洩漏:效能測試的重點
- 使用效能計數器觀察資料變化
- 專業軟體:CLRProfiler、Pfmon(page fault monitor)等
- 怎麼判斷是否產生記憶體洩漏?
LoadRunner的使用:VuGen + 控制器 + 分析器
Virtual User Generator(VuGen)虛擬使用者生成器
- 錄製Recording:記錄一個真實使用者的行為,會生成指令碼。提供兩個錄製協議:HttP/HTML、Click and Script;錄製過程要考慮Think Time,加入等待時間。
- 驗證Replay:執行驗證錄製所得指令碼。可能會出現驗證失敗,原因:因為錄製時生成一個SessionID,錄製結束,會話失效,驗證播放時,使用錄製時的SessionID,會被系統拒絕,導致報錯。解決方案
- 強化Enhancements:修改指令碼
- 準備負載工作:模擬真實使用者,虛擬出多個使用者
- 迭代:General 》 Run Logic node,同一個操作不斷迴圈
- 併發:常用這個,通過設定不同的場景來完成,同時請求web應用的使用者數量,與場景密切相關
- 完成階段
控制器Controller:場景和虛擬使用者組的生成和配置:設定場景並新增監控,為指令碼新增函式
- Manual Scenario人工場景(自定義模式)和 Goal Oriented Scenario面向目標場景(嚮導模式)
- 面向目標場景的測試目標:虛擬使用者數、每秒點選數、每秒事務數、每分鐘訪問頁面數、事務響應時間
- 手工場景(先design設計再run執行):兩種方式設定:使用者組方式、分佈百分比方式
- 集合點:測試併發操作效能,直接在錄製後生成的指令碼中,對應action部分,放置游標,插入集合點。集合點發揮作用,一般是規定在這個集合點上要集合多少個虛擬使用者
分析器Analysis:用於分析場景執行結果:LoadRunner會自動生成測試結果概要Analysis Summary頁面並自動開啟分析器,分析概要包括SLA(服務質量協議,實際上是某項指標的期望值)概要、事務概要、HTTP響應概要等