1、如何使用loadrunner對伺服器進行性能測試
使用LR對資料庫進行性能測試,實際上有多種辦法,包括通過現有的資料庫協議進行CS模式的先錄制後執行的模式,以及通過socket方式向伺服器發包方式的測試方式。這些是常規書籍上介紹的比較簡單上手的測試方法,但是不具備通用性,受已有協議或socket編程方式的限制,所以需要更為通用的測試方法。
用Java user的協議進行所有資料庫性能的測試工作:
Java user 不需要錄制,把所有的操作通過java語言進行實現,通過lr調用java的class進行加壓批量操作,這樣可以不關心被測系統是哪個資料庫,只要能夠通過jdbc進行訪問,就能實現性能測試。
一、測試環境准備
1. 被測伺服器准備,根據測試目的,搭建需要的資料庫伺服器,確保資料庫能夠正常訪問,正常操作;
2. Java代碼的准備,無論使用哪種IDE,只要能夠編寫訪問資料庫的class就可以,形式可以是j2se,也可以是j2ee,因為在操作時只使用class的部分方法,所以j2ee就可以了;
3. LR的腳本調試,把java的class導入到腳本調試模式,根據需要添加事務以及其他操作。
二、編寫資料庫訪問
1. 使用myeclipse,創建web project,創建如下圖的包目錄:
Java文件中包含各種訪問資料庫的方法。
需要注意的是,class中的方法必須是public static,否則LR中無法調用。由於創建的是j2ee程序,所以不用main函數,在web中就可以進行功能驗證。
確認class中的方法編寫完成,創建一個web.jsp文件,如下:
導入class
聲明類,並實例化,直接調用剛才編寫的3個方法,因為這3個方法是直接對資料庫進行操作,不需要實參,也沒有返回值,所以直接實現即可。
此時啟動web服務,在瀏覽器中輸入jsp的地址,直接刷新頁面,就可以調用這3個方法,如果正確,就會對相應的表進行操作,如果不正確,則需要修改相應的代碼。
2. LR腳本准備:
LR腳本實際上就是對訪問代碼的調用,關鍵在於需要根據測試場景劃分不同的腳本布局。
例如:在myEclipse里,我們只編寫了一個class,其中包含三個方法,如果在執行性能測試時,這三個方法相互獨立,互不幹涉,則最簡單的劃分方法是,創建三個java user,每個java user中包含一個方法,做三份腳本,場景執行時分別進行調用。如果三個方法之間有相互關系,則需要根據實際情況,把有關聯的方法放在一起,具體情況可按實際靈活分配。
因為已經將class文件進行編譯發布了,所以可以在「java2postgres\WebRoot\WEB-INF\classes\com\lr\test」目錄中找到對應的class文件,
復制這個文件,找到LR的目錄:HP\LoadRunner\classes\com\lr\test\ 如果沒有文件夾,按相同的內容創建。
在LR腳本中進行引包操作:
將需要執行的java類以及方法,放在action中,可根據實際測試情況和所需要驗證的內容,具體調試代碼。
在這里可以像編寫普通LR腳本一樣,添加事務或集合點等內容。
由於是通過JDBC對資料庫進行訪問,因此要在java user中載入jdbc驅動。
運行時設置中,增加jdbc驅動,需要注意的是java user使用的本地jdk,需要至多1.6版本,若使用1.7版本,回放會有錯誤,這是jdk版本的問題。
操作完成之後,按F5或點擊運行,進行腳本回放,實際此時也對資料庫進行了操作,可以直接查詢對應的表,檢查功能是否正確。
三、執行性能測試
已經有了java user的腳本,和普通web性能測試一樣,設計場景、執行測試、收集報告、分析性能瓶頸即可。
2、用loadrunner測試API介面的性能,毫無頭緒,求詳細過程,具體要求如下
web_custom_request("login",以復api伺服器要求的格制式去提交請求即可, 然後保存伺服器返回的Access_Token
3、在用LoadRunner進行性能測試時,是在內網測試好些還是在外網測試好些,兩者有什麼區別?
內網測試好 這樣可以排除網路因數的干擾
4、如何LoadRunner進行中間件的性能測試
1、接到項目時,首先了解系統架構,是B/S,還是C/S,使用什麼應用伺服器(即中間件),什麼資料庫?
2、熟悉系統的功能、業務流程,明確項目的性能需求是什麼?有哪些性能指標?
3、編寫性能測試計劃。(有些公司不要求寫)
4、設計性能測試用例。(按場景設計思路來寫比較清晰)
5、准備測試數據,如一些業務需要大數據量的,就要先造好數據。
6、選擇錄制協議,錄制兩份業務需求功能一樣的腳本。(好處是:一是可以做腳本備份,二是腳本優化查找需要關聯的地方)
7、優化腳本,包括設置參數化,檢查點,關聯,集合點,事務以及自行編寫的函數,日誌輸出函數等。
8、創建場景。(創建兩份一樣的場景,以20/80並發用戶原則遞增來設計,如並發要100個用戶,第一份創建80個用戶並發,第二份創建100個用戶並發,這樣在結果分析中容易發現)
9、場景設計,添加集合點策略,負載均衡器,對「運行時設置」,如lr_think_time,迭代設置,日誌輸出控制等。
10、場景運行,添加監控圖表,伺服器系統資源監控計數器,資料庫系統資源監控等。
11、性能結果分析,通過監控圖表的數據(事務響應時間、點擊率、吞吐量)、系統資源分析、web頁面診斷分析等。
12、收集測試結果,編寫性能測試報告。
以上是自己總結的一點經驗,有不對的思路請大家多多指教。活到老,學到老!
5、能用loadrunner進行伺服器的壓力測試嗎?
可以,如果伺服器上已經部署了B/S或者C/S架構的系統,loadrunner很有效果,如果是一台空機器版的權話,可以在空機器上安裝loadrunner,通過自帶的自測B/S系統(就是定機票系統),可以進行壓力測試,不過,也可以通過其他工具來進行性能測試,像liunx可以用ab測試工具進行測試,相對而言批處理來進行對windows的系統測試比較方便。
6、loadrunner是測試客戶端還是伺服器端性能的?
兩方面的都可以
7、loadrunner關於吞吐量的性能測試結果分析
看你的這個圖,vuser數量在大致8min至12min內維持著最大數量,
但是你看每秒點擊數,在很早的時內候,5min不到,就已容經基本穩定了,這似乎說明vuser已經被阻塞在了伺服器的隊列裡面,得不到及時處理,伺服器能處理的請求已經達到了極限,
一旦這個指標的極限早於vuser數量的極限出現,就要懷疑伺服器端的IIS是否做了保護,而且保護得太緊了,伺服器也許還有更大的處理能力,但被限制了;
所以響應時間與vuser的吻合就很好解釋了,但是也看不出來什麼東西了,
同理,吞吐量也因為這個原因,看不出來什麼東西,應該不是像你描述的「上不去了」,
建議你看一下伺服器端的配置,把那個保護放開,再把壓力壓上去看看
8、用loadrunner壓力測試網站,需要將lr裝到要測試性能的伺服器上嗎,在此謝謝回答者
看你的伺服器是什麼系統
如果是win,不需要在伺服器上安裝任何東西,在運行裡面訪問一下伺服器就可以了
然後在場景裡面添加對應的伺服器地址就能監控到
如果是linux或者unix的話,就需要在伺服器上安裝一個包才能監控到伺服器資源的消耗情況
這個網上多的很,查一下就可以了
9、我是初學loadrunner,我想知道測試伺服器的性能,不將lr裝在伺服器上怎來測試呀?
1.不將LR裝到伺服器上是可以測試伺服器的性能的。因為LR可以配置,鏈接到服務專器上讀伺服器的各種參數。屬
2.LR測試的當然是伺服器的性能了。錄制腳本的目的是模擬大量人訪問資料庫,然後分析腳本的運行結果可以間接的知道伺服器的性能,直接訪問伺服器的各項服務及硬體的運行參數也可以分析出伺服器的性能
10、使用LoadRunner怎麼進行性能測試
用loadrunner先截取腳本,把對應的變數進行替換,設置成參數表的形式。
然後定義對版應的用戶權數,批量的執行腳本,壓力測試對應的時間後,loadrunner會自動的分析出對應的性能。同事你需要在資料庫伺服器和應用伺服器上部署對應的性能監測工具用來分析壓力測試中伺服器的性能。
但建議用jmeter,這個是開源的文檔多,loadrunner要錢的。