HP PC
效能測試
壓力測試
loadrunner
HP Performance Center測試工具簡介 - HP PC
2017/12/19 22:42:46
0
897
HP Performance Center測試工具簡介 - HP PC
簡介 |
上一篇介紹完Script編輯工具VuGen後,本篇將介紹如何用已完成的Script在HP PC (HP Performance Center)上進行效能測試。HP PC是HP Load Runner的企業版,有統一的管理介面、遠端控制與多個Clients同時壓測的功能,適合跨國大企業大規模的測試規劃,其中所包函的工具與相關功能多且豐富,此處按步驟簡單的說明如何設定與操作HP PC,讓第一次使用HP PC的人都可以快速地完成測試工作。 |
作者 |
夏宏彰 |
一、前言
l
軟體的效能測試大概分成幾個步驟,測試環境的規劃,測試情境、腳本錄製、腳本客制化
(
如資料參數化、動態資料及其他修改
)
、腳本測試、測試情境設定、測試執行設定、測試資源安排、執行測試、測試數據分析與報告。除了應用軟體本身測試環境的規劃與情境,
HPPC
幾乎可涵蓋所有效能測試的步驟到最後報告的產出,可算是一個功能強大的測試工具。
l
本文件以實際測試所需的操作與設定進行說明,不包括
HP PC
的安裝設定。
l
本文件適用於
HP PC Ver 11.52
。
二、目的
l
初步了解
HP PC
設計的方式與效能測試的方式。
l
初步了解
HP PC
分析報告內容。
l
初步了解如何利用
HP PC
發現系統的問題並進行改善。
三、HP PC工具介紹
l
HP PC: HP Performance Center
,管理與操作測試的主控台,
Client-Server
的架構,以
Web
介面讓企業進行多人多系統的測試管理。
l
Controller:
執行效能測試的控制主機,可一次控制多台
LG
併發服務請求進行測試。
l
LG: Load Generator
,實際發出請求的機器,可一次模擬數百個使用者進行測試。
四、HP PC執行效能測試
HP PC
是
Client-Server
架構的應用程式,我們用
Browser
連線登入進行測試的管理與執行。登入後的第一件事是將我們在
VuGen
開發完成的腳本上傳到
HP PC
上。
4.1 上傳腳本
將測試腳本所在的目錄壓縮成
zip
檔,然後從
Browser
輸入
url:
登入
HP PC

在選單中點選
Testing -> Test Plan
,在右方視窗根目錄
Subject
下建立一個新的目錄作為存放腳本的位置,例如
"pierre_script2"
。

點選新建的目錄,按下
"Upload VuGen Script"
圖示進行上傳

*
注意
:
只有
zip
檔可以上傳! (我們要將整個VuGen中建立的專案目錄用zip先壓縮)
上傳後可以看到點選
Test Script
可以看到上傳的腳本,但是唯讀的狀態,且只能看前面幾行的訊息而已。

此時
script
若有需要修改,或是要變更測試參數時,只能用
VuGen
連線更新。用
VuGen
登入
HP PC
,選擇
"ALM -> ALM Connection…"
,輸入
url
,
id/pwd
之後先按連線"Connect",再按登入"Login"即可。

登入之後,我們即可從
File -> Open -> Script/Solution
看到
"ALM Test Plan"
的選項,直接從
HP PC
目錄中選擇要編輯的
scripts;
沒有連線時只會看到
"File System"
。連線編輯的方式與開啟本機腳本相同,亦可直接進行測試,而儲存時會存到
HP PC
上。

4.2 建立測試
建立的測試時要指定存放的位置,此時可建立一個新目錄。點選
Testing -> TastPlan
,新增測試目錄,例如
"uat_testG1"

然後點選
"New Test",
指定名稱
e.g. "uat_perfG1"
與
Type
為
"PERFORMANCE-TEST"

點選我們剛建立的
"uat_perfG1"
,即可進行編輯
(Edit Test)
。第一次進入編輯時會跳出
"Workload Types"
選擇視窗,選擇預設項目即可,按下
"OK"
。
(
之後若要變更亦可再重新選擇
"Workload Types")

測試編輯視窗主是指定
Controller, LoadGenerators, Test scripts, Vusers
與
Runtime Settings,
如下所示
:

每個測試執行時會需要一個
Controller
與一至多個
LGs(Load Generators)
,
Controller
與
LG
可以在同一台或是不同台。在
Controller
點選瀏覽鍵可以選擇
"Specific"
指定某台
Controller;
然後在
LG Distribution
選擇
"Assign manually"
,即可於每個測項中由
"Load Generators"
欄位手動指定一至多台
GLs
。
Runtime Settings
內容與
VuGen
差不多,但項目較少,此設定亦與
VuGen
中的設定獨立,不會因
VuGen
中的修改儲存而影響此處的設定。幾個常用的設定內容如下
:
//Run Logic

//Log

//Think Time

//Miscellaneous

//Preference

//Proxy

接下來是設定測試的情境,主要為設定測試的時間與
VUsers
如何增量

例如
:
l Initialize: (ex. Simultaneously, 馬上初始化所有VUsers)
l Start Vusers: (ex. 5Vusers every 3 seconds, 每三秒增加5個VUsers)
l Duration: (ex. 1 minutes, 執行1分鐘)
l Stop Vusers: (ex. Simultaneously, 時間到馬上停止所有VUsers)
按下"Save"後即可進入測試。
4.3 執行測試
需要有
Test Set
我們才可以執行測試。在
Testing -> Test Lab
中,同樣先建立一個目錄,之後在此目錄點選
"New Test Set"
,設定名稱
"testG1"
,
Type=Performance
。

然後將前面建立的
Test Plan "uat_perfG1"
放到此
Test Set
即可。

我們可直接按下
"Run test"
進行測試,或是再按下
"Edit Test"
對
uat_perfG1
進行編輯,通常我們會持續繼修改
Vusers
以增加同時使用人數,了解系統是否可以容納更多的使用者。
按下
"Run Test"
出現如下畫面

此處會看到
Select timeslot
是
"New"
還是
"Reserved"
。
Timeslot
是保留測試資源的方式,我們可以預先選擇要效能測試的時間,然後相關的資源,即
Controller
、
LG
就可以保留被我們使用。若沒有預先保留就用預設的
"New"
。至於要如何設定
Timeslot
將在下節說明。然後我們看到要此
"New Timeslot"
的內容
:
保留的時間
(duration) 30
分鐘
,
資源
(Requested resources)
有
4
台主機
,
虛擬使用者
1000 VUsers,
執行結束後
(Post run)
要蒐集與分析
(Collate and analyze)
,由於分析是需要一段時間的,所以當我們可以確定執行的結果是滿意的,可以用來出報告時,再事後進行分析亦可,這樣就可以節省許多測試的時間。接下來的按鈕
"Calculate Availability"
就是用來確認此
"New Timeslot"
是否有保留成功,若成功即顯示
"Timeslot can be reserved";
若當時有
Controller
或是任一台
LG
被使用或保留,則會顯示保留失敗,並列出是哪一台
Server
無法使用。
接下來按下
"Run"
就可以進入測試初始畫面了

(Validate Scripts
是一個常會出錯的地方,但原因通常與
scripts
無關,若確認目前的
script
可在
VuGen
正常執行,則通常再試幾次即可成功。
)
測試執行時的畫面,會顯示目前
VUsers
的增量、回應時間、錯誤次數等,若發現有錯誤,則點選
"Total Errors"
的數字連結,即可開啟錯誤訊息的視窗,查看相關的錯誤內容。

測試結束時
HP PC
會依我們的設定自動蒐進並分析測試數據,需要等待一下才會完成。
4.4 預約測試
前面有提到,測試需要
Controller
與
LG
,這是有限的資源,而大企業隨時可能有許多系統需要進行測試。為了解決大家同時要測試而沒有資源的問題,所以我們可以進行預約,在特定的時段將所需的資源預約下來。以下將說明在
HP PC
中如何進行預約。
點選
"Timeslots"
可以進入預約,其中可看到自已之前的預約狀況。若要新增一個預約,點選
"New Timeslot…"
進行預約。

預約時可於
"Start"
選擇是自動執行
(Automatically)
測試或是手動
(Manually)
測試
;
在
"Test"
欄位選擇要執行的測試
; "Post run"
則是決定是否於測試完成時馬上進入分析產生報告,然後將預約的起迄時間設定好,我們即可按下
"Calculate Availability"
檢查預約是否可行,若顯示
Start Times
則表示該時段是可行的,否則需要重訂時段,或是變更相關的資源,例如預約不同的
LG
,之後再重新檢查一次。

預約之後可以看到日曆中出現該預約的時段。

若預約時選擇的是
"Manually"
,則我們進行
"Run Test"
時就可以選擇
"Reserved"
項目來執行測試了。

五、HP PC測試報告
測試結束後我們可到
HP PC
蒐集的數據與整理的分析報告,從
"Test Runs"
進入可以看到許多之前執行過的
Run ID
,若未看到剛剛的測試內容,則可以按下
刷新頁面。點選要查看的
Run ID
,則相關內容會顯示在下方視窗或是
popup
視窗中,其中
"Reports"
就是我們要看的效能分析報告,以
html
的頁面呈現
;
而
Results.zip
則是下載後可以由分析工具
Analysis
開啟。若未看到測試報告,則可以按下
Analyze Results
即時產生分析報告。如果要查看執行時的
log
,則可由此點選下載
VuserLog.zip
。
(
因
Runtime Setting
中
log
的設定是
"only when an error occurs"
,所以若沒有錯誤時亦不會有
log
產生。
)

HP PC
的報告內容顯示如下,有
Summary, Response Time, Hits, Throughput
等項目,可以讓我們很快的看出系統效能表現的行為。

此
Response Time
圖表可以看出系統在
VUser
逐漸增加時反應時間亦隨之增加。測試
5
分鐘後反應時間急速上升,可能表示系統在超出一定使用量時有瓶頸出現,需找出原因。

Hits
圖表表示每秒
Http Requests
的數量
(
測試
Web
系統
)
,對於一個
Web Service
的系統而言,亦代表系統的
TPS
數量。

此
Response Time
百分比圖表可看出全部的請求中有
90%
左右的回應時間是正常的。

六、結語
除了以上的圖表外,
HP PC
亦可在受測的系統上安裝
Agent
,則執行測試時可一併將系統的
Resource
如
CPU, Disk IO, Network Traffic, Load
等數據記錄下來進行統計分析
;
或是我們亦可自行運用簡單的指令如
top, iostat
在測試時進行監控,可以了解系統的瓶頸是否來自硬體資源的不足。
若是硬體資源豐富,但反應時間卻明顯變慢時,瓶頸就有可能是來自系統相關參數的調整不足,或是程式設計上的瑕疵造成太多的等待與不必要的重複動作,在壓力下逐漸現出原形。這可能來自寫法不好,也可能是引用的程式庫本身的問題。但這些就非HP PC的工作了,需有其他的profiling工具幫助我們查出效能的瓶頸,並加以改進。千萬不要盲目的修改,這很可能白花工夫,甚至將效能變得更差!
效能測試是一個沒有止盡的循環,調整修改後再測試,測試後再調整修改,所以預先了解我們的目標是重要的,一但達成目標即可終止。過多不必要的效能追求很容易造成資源的浪費,或是設計變得複雜而影響了正常應用程式的開發與維護,這些都是我們要整體一併考量的。