如何學習性能測試?LoadRunner小技巧集錦

LoadRunner是一款非常主流、常用的性能測試工具。我們在使用它進行測試的過程中經常會遇到一些錯誤,這些錯誤可能是由於設置不當引起,也有可能是選項設置引起,更有可能是測試執行中的一些細節沒有注意而引起的,在此做一個性能測試系列總結。

如何學習性能測試?LoadRunner小技巧集錦

一、性能指標

在做性能測試之前,簡單說下性能指標:

響應時間

針對頁面操作,響應時間小於2秒,用戶會感覺系統較快較滿意;響應時間在2~5秒,用戶可以接受,但對速度有些不滿;響應時間超過5秒,用戶將無法接受。

作為優秀的項目當然越快越好,我們在做壓測的時候,一般希望響應時間在1秒以內, 針對系統內部調用的接口響應時間更要快,具體情況視具體接口而定。

吞吐量

通常需要結合業務部門的市場目標而定。

服務器資源佔用

CPU佔用率、內存使用率不能過高;Cache命中率不能過低。

二、性能測試流程

制定性能測試目標-->選擇性能測試工具-->設計性能測試-->執行性能測試腳本-->監控分析系統-->性能調優

1、目標:

如,系統需滿足500個用戶在線、20個用戶併發操作發帖的情況下,發帖響應時間不超過2秒,系統資源使用率不超過30%。

2、選擇性能測試工具:

可選擇LR、Locust、jmeter等主流測試工具,下面主要介紹LR相關。

3、性能測試準備:

測試腳本開發、負載的生成規則及監控方式、測試環境的搭建。

性能測試準備過程中需要注意的點:

確認壓測前SQL Review已通過;

確認壓測環境已成功搭建,壓測服務器上單獨部署一套程序代碼;

明確域名及需要綁定的host;

搞清楚需要壓測的業務及場景(也可以理解為測試用例);

清楚輸入參數及服務端返回信息;

明確需要參數化的輸入值,明確"請求成功的服務端返回碼";

4、負載過程、負載後對數據進行分析,這個分析需要眾多專家共同協作,找出數據背後的問題,確定性能瓶頸。

5、確定瓶頸後,進行軟硬件調優,調優完成重複之前的步驟。

三、Loadunner主要特色

1、 非常優秀的性能測試工具

2、 很容易使用

3、壓力測試表現出色,容易找到性能瓶頸(諸如檢測:線程異常、內存異常、連接池異常、對象洩漏、數據庫及應用系統的性能表現);

幾個亮點:

1. 事務:用於事務計時;

2. 集合點:在併發用戶發出請求前設置集合點,待併發用戶都到達集合點後再發出併發請求。

3. IP欺騙:模擬不同的IP地址嚮應用系統發出業務請求;

4. 參數化:把腳本數據參數化後,變成千萬個不同請求數據的腳本,確保唯一性;

5. 多場景類型:同一個腳本,可以設置不同的場景類型嚮應用系統發出業務請求;

6. 多機:多機聯合產生負載,確保客戶端自身穩定性;

7. 監控:支持對服務器資源監視;

8. 性能分析:圖、表分析測試結果,非常直觀

四、LoadRunner常見問題

1、LR腳本為空的解決辦法

①去掉ie設置中的第三方支持取消掉

②在系統屬性-高級-性能-數據執行保護中,添加loadrunner安裝目錄中的vugen.exe文件。

遇到flight界面為空的解決的可能方法:

①如果安裝了IE以外的瀏覽器,並且IE不是默認瀏覽器,則無法生成錄製腳本

②如果錄製腳本時IE不能 打開,則需要將瀏覽器的IE工具高級選項中,將"啟用第三方瀏覽器擴展"的勾選去掉

③lr自帶的webtours系統,如果點擊Flights選項,出現空白頁面,請檢查本機oracle的PERL5LIB環境變量,我的解決辦法是使用webtours的時候刪除掉該變量的內容,使用oracle的時候再填上該變量內容為什麼該變量會影響webtours的使用,原因不明。

2、LoadRunner錄製腳本時為什麼不彈出IE瀏覽器?

當一臺主機上安裝多個瀏覽器時,LoadRunner錄製腳本經常遇到不能打開瀏覽器的情況,可以用下面的方法來解決。

啟動瀏覽器,打開Internet選項對話框,切換到高級標籤,去掉"啟用第三方瀏覽器擴展(需要重啟動)"的勾選,然後再次運行VuGen即可解決問題

提示:通常安裝Firefox等瀏覽器後,都會勾選上面得選項,導致不能正常錄製。因此建議運行LoadRunner得主機上保持一個乾淨的測試環境。

3、HTML-based>

使用"HTML-based>

通常,基於瀏覽器的Web應用會使用"HTML-based>

4、運行時的Pacing設置主要影響什麼?

Pacing主要用來設置重複迭代腳本的間隔時間。共有三種方法:上次迭代結束後立刻開始、上次迭代結束後等待固定時間、按固定或隨機的時間間隔開始執行新的迭代。

根據實際需要設置迭代即可。通常,沒有時間間隔會產生更大的壓力。

5、運行時設置Log標籤中,如果沒有勾選"Enable logging",則手工消息可以發送嗎?

Enable logging選項僅影響自動日誌記錄和通過lr_log_message發送的消息。即使沒有勾選,虛擬用戶腳本中如果使用lr_message、lr_output_message、lr_error_message,仍然會記錄其發出的消息。

6、LoadRunner回放腳本時,在瀏覽器顯示的中文是亂碼

解決辦法(1):

首先設置Run-Time Settings – Browser –Browser Emulation – User-Agent

然後設置IE:

查看-編碼-鉤上"自動選擇"和Unicode(UTF-8)。

解決辦法(2):

使用lr_convert_string_encoding函數來轉換編碼。


分享到:


相關文章: