MILY: 宋體; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋體; mso-fareast-theme-font: minor-fareast; mso-hansi-theme-font: minor-latin; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri">導讀
經過上篇的準備,現在我們來具體用LR來測試一個博客后臺頁面的登錄及發布博文的測試,我這使用的LoadRunner時8.1版本的,所支持的虛擬用戶數最大是24個,所以我在測試時用了20個。OK不多說,現在開始吧,來看看自己寫的博客性能到底如何。
一些說明
系統信息:個人博客系統1.0版,所用到的技術jsp+javabean+servlet,數據庫是 MySQL 5.1,服務器是tomcat 6.0.20,開發工具是MyEclipse 8.0M1
測試工具:LoadRunner 8.1
操作系統:XP professional sp3
錄制腳本
打開LR后,進入負載測試界面選擇“創建/編輯”,在這個界面中選擇“新建Vuser腳本”后會彈出讓你選擇協議的確認框,如圖所示

因為我們所測試的是web項目,所以在這里我們要選擇“Web(HTTP/HTML)”協議,確定后進行入Virtual User Generator功能模塊。此時會彈出“Start Recording”錄制設置窗口,
這里除了要選擇Applcation type(我們要選擇 Internet Applcation),正確填寫被測網站地址,選擇相應 Record into Action 外,還需特別注意 “選項”Options這個按鈕。這是錄制選項
設置的地方。這里本人建議最好點開,在彈出的錄制設置窗口中在Internet Protocol中的Advanced上選擇支持UTF-8選項,這樣做的好處是可以避免出現錄制腳本中出現中文亂碼。
如下圖所示

錄制設置做好后,就可以開始錄制了。
在錄制登錄腳本和發布博文操作時,需要特別注意的一個地方的,在進入博客后臺管理頁面后,在正式登錄前可以增加一個事務,事務名要取個有意義的名稱,增加腳本的可讀性。
這里加一個事務是有特別的用處的,可以在此操作添加集合點,在后面的場景中設置循環,實現用戶并發操作。設置開始事務登錄成功后,一定要設置結束事務操作,這點請大家一
定記住,下圖是我的事務設置(login)


登錄成功后,再新建一個發布博文的事務(putout_blog),在退出博客管理后臺時也與前兩種方法一樣,新建一個退出的事務(out_blog)。退出到博客首頁后關閉瀏覽器,停止腳 本的錄制,返回到Virtual User Generator腳本編輯界面。
腳本編輯
OK,錄制完成啦,現在可以對腳本進行編輯了,對于這個,我不得不說LR的強大,這也是我愛上LR的原因之一,就像當年愛上MyEclipse一樣。腳本和程序一樣,要有良好的風格,
必要的注釋。對每個事務進行注釋,以便以后修改。這方面不做過多的文字描述。
首先,你可以點擊“編譯”按鈕編譯下,檢查錄制的腳本有沒有錯誤。接下來,我們來看看腳本,在事務中我們可以看到一個這樣的函數lr_think_time(1234),這就是在上篇中提到的
思考時間,對這個函數,在事務中盡量注掉或者把時間改小,以免影響后面的響應時間,我們也可以在打開平均事務響應時間表等相關表設置中去掉思考時間。但在實際工作中的性能測試,思考時間是一個值得測試人員思考的問題。
其次,使用參數化對登錄username和password設置不同的值,實現以不同的用戶身份進行登錄。在LR中,參數設置方式有多種,都可達到一樣的效果,我這里就拿一種來說下。
點擊工具欄上的“打開參數列表”點擊“新建”按鈕,設置相應名稱,我的是loginusername,loginpassword,選擇適當的參數類型,選擇文件路徑時把dat類型改為txt,不改也行這個是個人的愛好,點擊“添加行”或“添加列”,輸入相應的值,在更新值的時間處選擇適當的方式。設置好后,可以通過右擊鼠標,選擇“參數屬性”,驗證是否已經設置成功。我的設置如下圖所示:

請注意上圖中的紅色字體部分,很重要。設置好參數后,在要定義的value后面選擇對應的參數,單擊鼠標右鍵,在“使用現有參數”中選擇剛剛設好的參數就OK了。以上的我是對登錄事務的參數設置,也可以在發布博文中用同樣的設置,這里不再重復。
還可以在登錄事務中設置集合點,設置方法不難,只需在事務前加上lr_rendezvous("login_gather");函數就行了,login_gather是集合點名稱,在以后的場景設置中可以再詳細設置。還有可以在錄制時先做好相應關聯等等。
對腳本編輯好后,點擊工具欄上的“編譯”按鈕,對腳本進行編譯,以驗證剛剛對腳本的修改有無錯誤,確保下一步運行的成功。此次測試腳本及分析報告我將會上傳到博客中,感興趣的朋友可以下載來看看,謝謝。
運行腳本
編譯后如果沒錯,我們就可以運行腳本了,但在運行前可以對運行進行相應設置,可以增加迭代次數,忽略思考時間,如果你是機器配置不夠好,可以突然忽略掉日志記錄,對網絡
進行設置等等。點擊菜單中的“Vuser”或直接按F4,就可以彈出運行時設置框了,我的設置如下圖所示:
設置好后,點擊“運行”按鈕就OK了。運行成功后,可以視圖中查看運行結果,如下圖所示:請注意,在運行前請確保所用到的服務器都是啟動的

創建場景及運行
LR腳本生成和場景配置在不同的模塊進行,腳本在VuGen中錄制,增強和調試;場景則是在Controller中進行配置,通過Controller來控制執行的規則和虛擬用戶數目。進入場景模塊
可以通過LoadRunner Launcher,點擊“Run Load Tests”啟動,也可是在Virtual User Generator模塊中的菜單欄中的“工具”選擇“創建控制器場景”,此時將會彈出一個設置窗口,
設置好Vuser數和場景類型確定后進入Controller模塊。如下圖所示:

進入到場景計劃界面后,可以通過配置多臺計算機作為壓力產生器向被系統加載壓力等等,還可以編輯計劃,在編輯計劃中可以新建計劃,選擇不同的計劃定義,設置初始加壓Vuser
數量及用時,持續時間和減壓方式。我的設置如下圖所示:

在前面腳本的編輯中我們加入了集合點,集合點讓多個Vuser在同一個時刻執行任務,從而在服務器上創建密集的用戶負載,腳本中的集合點只是一個標記而已,至于并發情況的屬
性配置則在Controller中進行。操作為在菜單中“場景”中選擇“集合點”命令,打開集合信息對話框,進行設置,我的設置如下圖所示:

接著可以在Controller菜單的“工具”中選擇“選項”命令,對所有腳本設置一些全局的配置,比如超時設置,運行時刻設置和運行文件設置等,大家可以試下。
服務器監控
在運行負載測試時,還應該參所用到的服務器進行實時監控,我這個項目用到的服務器是tomcat和mysql。LR對tomcat的性能監控是可以通過寫腳本實現的,我這里用Lambda Probe來實現的,Lambda Probe以前是tomcat的探針,官方原話是Tomcat Probe, the ultimate tool for monitoring and management of Apache Tomcat instance in real time,官網地址是:http://www.lambdaprobe.org/d/index.htm。Mysql可以用tomcat中的status模塊收集相關數據來判斷其性能問題。
設置搞定后,我們就可以開始運行場景了,你可在“RUN”視圖中看到相關圖的動態變化,場景運行完成后,相應的視圖數據也就出來了,如下圖所示:

此時可以通過結果分析器(Analysis)模塊進行性能分析,找出并定位性能問題所在,
這部分內容放到下一篇博文中再講。謝謝大家的支持,不足之處,真誠希望能得到大家的諒解和幫助,謝謝大家啦。
在下一篇中,將會講到怎樣在初步得到的籠統數據中逐步篩選出重要且有價值的數據,從而達到確定軟件系統到底有沒有符合需求規格說明書所定義的性能要求。謝謝大家的關注與支持!