1、阿里雲伺服器怎麼進行性能測試?
如果你用Loadrunner進行阿里雲伺服器部署的項目進行壓測的話,那麼第一你要保證內網測回試,也就是LR在你答本機,而負載機必須加到阿里雲另一台伺服器win or Linux,或者購買另一台windows的阿里雲伺服器安裝LR負載機加到本地。
2這樣在你測試時候才不用考慮網路帶寬(公網)帶來的影響,然後你可以用LR進行腳本錄制,錄制好的腳本進行調試(沒用的代碼刪除,加事物、集合點、參數化等)。
3腳本調試成功以後,就是場景設置了,根據項目實際需求設置你的測試場景和測試內容,注意測試目的一定要明確,比如:找出系統瓶頸。比如:看系統能承受最大並發量。
4場景都跑完了,數據採集完成,最難的部分就是數據採集結果分析。不多說了,說深了我也不會了!大體都已經說清楚了!
2、如何在Windows伺服器做性能測試
一、遠程連接到Windows伺服器,使用windows系統自帶工具進行收集性能數據
1、Windows伺服器中自帶的性能監控工具叫做Performance Monitor,在開始-運行中輸入『Perfmon.msc』,然後回車即可運行。通過界面,控制面板所有控制面板項管理工具性能監視器也能打開
打開後,頁面展示
2、添加計數器
性能>數據收集器集>用戶定義[右擊]>新增『數據收集器集』>手動創建高級>下一步
勾選創建數據日誌>性能計數器>【下一步】
點擊「添加」→選擇計數器
點擊選中的可用計數器>【添加】>【確定】
【確定】>【下一步】
選擇目錄後,點擊【完成】
查看新增的計數器,輸出地方為日誌輸出地址
3、選擇日誌數據源格式
選擇用戶定義下的數據收集器集>右鍵屬性>性能計數器,日誌格式選擇「逗號分隔」(即csv格式)
4、開始啟動數據採集,選擇用戶定義下的數據收集器集>右鍵屬性>開始
此時,輸出有地址了
5、用EXCEL將數據轉換為折線圖,並分析性能情況
二、分析性能情況
(1)內存泄露判斷
●虛擬內存位元組數(VirtualBytes)應該遠大於工作集位元組數(Workingset),如果兩者變化規律相反,比如說工作集增長較快,虛擬內存增長較少,則可能說明出現了內存泄露的情況。
●對於Workingset、Private Bytes、Available bytes這些計數器,如果在測試期間內數值持續增長,而且測試停止後位置在高水平,則也說明存在內存泄露。
●Windows資源監控中,如果ProcessPrivateBytes計數器和ProcessWorkingSet計數器的值在長時間內持續升高,同時MemoryAvailable
bytes計數器的值持續降低,則很可能存在內存泄漏。
(2)CPU使用情況
●一般平均不要超過70%,最大不要超過90%(好:70% 、壞:85%、 很差:90%)
(3)tps(每秒處理事務的數量,在SOAPUI中進行統計)
●一般在10-100,不同應用程序具體值不同
1234567891011121314151617
幾個常用參數的參考值: CPU:% Processor Time:表示CPU的使用率,如果值大於80表示CPU的處理調度能力偏低。 硬碟:% Disk Time:表示硬碟的I/O操作的頻率(繁忙時間),如果值大於80表示硬碟I/O調度能力偏低。Average Disk QueueLength:表示硬碟I/O操作等待隊列的長度,如果值大於2表示硬碟I/O調度能力偏低。 內存 Pages/Sec:表示系統對虛擬內存每秒鍾的訪問次數,如果值大於20表示有內存方面的問題。(有可能是物理內存偏低,也有可能是虛擬內存沒有配置正確。一般情況下虛擬內存應為物理內存的1.5-2倍) Committed Bytes and Available Bytes:Committed Bytes表示虛擬內存的大小,Available Bytes表示剩餘可用內存的大小。正常情況下,Available Bytes減少,pages(頁面數)應該增加,提供頁面交換。<br>如果Available Bytes的值很小表示物理內存偏低。當關閉一些應用以後,Committed Bytes應該減少,Available Bytes應該增加。因為關閉的進程釋放了之前佔用的內存資源。如果相應的值沒有發生變化,那麼該進程就可能造成了內存泄漏。 Cache Bytes:表示系統緩存的大小。如果值大於4M表示物理內存偏低。
三、關於計數器的選擇
perfmon的計數器主要分四種:處理器性能計數器、內存性能計數器、磁碟性能計數器以及網路性能計數器。
以下為監控伺服器常用的計數器:
常用的性能對象與指標
性能對象
計數器
提供的信息
Processor
% Idle Time
% Idle Time 是處理器在采樣期間空閑的時間的百分比
Processor
% Processor Time
% Processor Time 指處理器用來執行非閑置線程時間的百分比。計算方法是,測量範例間隔內非閑置線程活動的時間,用範例間隔減去該值。這個計數器是處理器活動的主要說明器,顯示在範例間隔時所觀察的繁忙時間平均百分比。
Processor
% User Time
% User Time 指處理器處於用戶模式的時間百分比。用戶模式是為應用程序、環境分系統和整數分系統設計的有限處理模式。
Memory
Available Bytes
Available Bytes顯示出當前空閑的物理內存總量。當這個數值變小時,Windows開始頻繁地調用磁碟頁面文件。如果這個數值很小,例如小於5 MB,系統會將大部分時間消耗在操作頁面文件上。
Memory
% Committed Bytes in Use
% Committed Bytes In Use 是 Memory: Committed Bytes 與Memory: Commit Limit之間的比值。(Committed memory指如果需要寫入磁碟時已在分頁文件中保留空間的處於使用中的物理內存。Commit Limit是由分頁文件的大小而決定的。如果擴大了分頁文件,該比例就會減小)。這個計數器只顯示當前百分比;而不是一個平均值。
Memory
Page Faults/sec
Page Faults/sec是指處理器處理錯誤頁的綜合速率。用錯誤頁數/秒來計算。當處理器請求一個不在其工作集(在物理內存中的空間)內的代碼或數據時出現的頁錯誤。這個計數器包括硬錯誤(那些需要磁碟訪問的)和軟錯誤(在物理內存的其它地方找到的錯誤頁)。許多處理器可以在有大量軟錯誤的情況下繼續操作。但是,硬錯誤可以導致明顯的拖延。這個計數器顯示用上兩個實例中觀察到的值之間的差除以實例間隔的持續時間所得的值。
Network Interface
Bytes Total/sec
Bytes Total/sec是發送和接收位元組的速率,包括幀字元在內。
Network Interface
Packets/sec
Packets/sec為發送和接收數據包的速率。
Physical Disk
% Busy Time
% Busy Time指磁碟驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。
Physical Disk
Avg. Disk Queue Length
Avg. Disk Queue Length 指讀取和寫入請求(為所選磁碟在實例間隔中列隊的)的平均數。
Physical Disk
Current Disk Queue Length
Current Disk Queue Length指在收集操作數據時在磁碟上未完成的請求的數目。它包括在快照內存時正在為其提供服務中的請求。這是一個即時長度而非一定間隔時間的平均值。多主軸磁碟設備可以一次有多個請求操作,但是其它同時發生的請求為等候服務。這個計數器可能會反映一個暫時的高或低的列隊長度,但是如果在磁碟驅動器存在持續負載,可能值會總是很高。請求等待時間與這個列隊的長度減去磁碟上的主軸成正比。這個差值應小於2才能保持良好的性能。
Logical
Disk
% Free Space
% Free Space 是所選定的邏輯磁碟驅動器上總的可用空閑空間的百分比。
Logical
Disk
Free Megabytes
可用的 MB 顯示磁碟驅動器上尚未分配的空間。
以下為監控進程常用的計數器:
Process對象的主要指標
性能對象
計數器
提供的信息
Process
% Privileged Time
% Privileged Time 是在特權模式下處理線程執行代碼所花時間的百分比。當調用 Windows 系統服務時,此服務經常在特權模式運行,以便獲取對系統專有數據的訪問。在用戶模式執行的線程無法訪問這些數據。對系統的調用可以是直接的(explicit)或間接的(implicit),例如頁面錯誤或間隔。
Process
% Processor Time
% Processor Time 是所有進程線程使用處理器執行指令所花的時間百分比。指令是計算機執行的基礎單位。線程是執行指令的對象,進程是程序運行時創建的對象。此計數包括處理某些硬體間隔和陷阱條件所執行的代碼。
Process
% User Time
% User Time 指處理線程用於執行使用用戶模式的代碼的時間的百分比。應用程序、環境分系統和集合分系統是以用戶模式執行的。Windows 的可執行程序、內核和設備驅動程序不會被以用戶模式執行的代碼損壞。
Process
Creating Process ID value
Creating Process ID value 指創建該進程的父進程號。
Process
Elapsed Time
該進程運行的總時間(用秒計算)。
Process
Handle Count
由這個處理現在打開的句柄總數。這個數字等於這個處理中每個線程當前打開的句柄的總數。
Process
ID Process
ID Process 指這個處理的特別的識別符。ID Process 號可重復使用,所以這些 ID Process 號只能在一個處理的壽命期內識別那個處理。
Process
IO Data Bytes/sec
處理從 I/O 操作讀取/寫入位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Data Operations/sec
本處理進行讀取/寫入 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Other Bytes/sec
處理給不包括數據的 I/O 操作(如控制操作)位元組的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Other Operations/sec
本處理進行非讀取/寫入 I/O 操作的速率。例如,控制性能。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Read Bytes/sec
處理從 I/O 操作讀取位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Read Operations/sec
本處理進行讀取 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
IO Write Bytes/sec
處理從 I/O 操作寫入位元組的速度。這個計數器為所有由本處理產生的包括文件、網路和設備。
Process
IO Write Operations/sec
本處理進行寫入 I/O 操作的速率。這個計數器為所有由本處理產生的包括文件、網路和設備 I/O 的活動計數。
Process
Page Faults/sec
Page Faults/sec 指在這個進程中執行線程造成的頁面錯誤出現的速度。當線程引用了不在主內存工作集中的虛擬內存頁即會出現 Page Fault。如果它在備用表中(即已經在主內存中)或另一個共享頁的處理正在使用它,就會引起無法從磁碟中獲取頁。
Process
Page File Bytes
Page File Bytes 指這個處理在 Paging file 中使用的最大位元組數。Paging File 用於存儲不包含在其他文件中的由處理使用的內存頁。Paging File 由所有處理共享,並且 Paging File 空間不足會防止其他處理分配內存。
Process
Page File Bytes Peak
Page File Bytes Peak 指這個處理在 Paging files 中使用的最大數量的位元組。
Process
Pool Nonpaged Bytes
Pool Nonpaged Bytes 指在非分頁池中的位元組數,非分頁池是指系統內存(操作系統使用的物理內存)中可供對象(指那些在不處於使用時不可以寫入磁碟上而且只要分派過就必須保留在物理內存中的對象)使用的一個區域。這個計數器僅顯示上一次觀察的值;而不是一個平均值。
Process
Pool Paged Bytes
Pool Paged Bytes 指在分頁池中的位元組數,分頁池是系統內存(操作系統使用的物理內存)中可供對象(在不處於使用時可以寫入磁碟的)使用的一個區域。這個計數器僅顯示上一次觀察的值;而不是一個平均值。
Process
Priority Base
這次處理的當前基本優先權。在一個處理中的線程可以根據處理的基本優先權提高或降低自己的基本優先權。
Process
Private Bytes
Private Bytes 指這個處理不能與其他處理共享的、已分配的當前位元組數。
Process
Thread Count
在這次處理中正在活動的線程數目。指令是在一台處理器中基本的執行單位,線程是指執行指令的對象。每個運行處理至少有一個線程。
Process
Virtual Bytes
Virtual Bytes 指處理使用的虛擬地址空間的以位元組數顯示的當前大小。使用虛擬地址空間不一定是指對磁碟或主內存頁的相應的使用。虛擬空間是有限的,可能會限制處理載入資料庫的能力。
Process
Virtual Bytes Peak
Virtual Bytes Peak 指在任何時間內該處理使用的虛擬地址空間位元組的最大數。
Process
Working Set
Working Set 指這個處理的 Working Set 中的當前位元組數。Working Set 是在處理中被線程最近觸到的那個內存頁集。如果計算機上的可用內存處於閾值以上,即使頁不在使用中,也會留在一個處理的 Working Set中。當可用內存降到閾值以下,將從 Working Set 中刪除頁。如果需要頁時,它會在離開主內存前軟故障返回到 Working Set 中。
Process
Working Set Peak
Working Set Peak 指在任何時間這個在處理的 Working Set 的最大位元組數。
3、如何測試伺服器
伺服器測試方法
伺服器測試方法分為兩個大方面,性能測試與功能測試。
我們在性能測試方面採用了新的測試方法,主要分為文件測試、資料庫性能測試與
Web
性能測試三個
方面。其中,文件性能與資料庫性能採用美國
Quest
軟體公司的
Benchmark Factory
負載測試和容量規劃
軟體,
Web
性能測試則使用了
Spirent
公司提供的
Caw WebAvalanche
測試儀。
一、性能測試
1
、文件性能測試方法
Benchmark Factory
軟體能按照文件讀寫的關鍵指標定製事務。軟體最大支持
1000
個虛擬客戶。
本次測試環境包括
10
台配置為
PIII800/128MB
內存
/20G
硬碟以上的客戶端,它們用來模擬虛擬用戶。
控制台為配置是
PIII 850/128MB
內存
/40G
硬碟的
Acer
筆記本電腦。交換機為帶有兩個千兆
GBIC
介面、
24
個
10/100M
自適應埠的
Cisco 2950
,客戶端與控制台通過
100M
網卡連到交換機上,被測伺服器則通
過千兆光纖網卡與交換機相連接。
被測伺服器均安裝帶
SP4
的
Windows
2000
Advanced Server
操作系統,在所有三項性能測試中都統一
RAID
級別為
5
。
在具體測試方案設置上,測試軟體把決定文件讀寫操作的關鍵因素設定為:讀
/
寫、隨機
/
順序、操作
塊大小、對象大小四個。在本次測試中,考慮到我們設有單獨的資料庫及
Web
測試項目,所以在文件測試
中,我們把目標確定為測試伺服器基本的
I/O
性能,這主要由網路介面、系統帶寬、磁碟子系統等幾大部
分所決定。同時,從幾部分的作用看,以大操作塊讀寫大對象文件,小操作塊讀寫小對象文件,較能反映
伺服器最基本的
I/O
性能,即「大操作塊讀寫大文件」對系統帶寬、緩存的考察,以及「小操作塊讀寫小
文件」對磁碟子系統、網路介面的考察。最終我們確定的四個事務是:
大文件順序讀寫
(
操作塊
8KB
,對象文件
80% 500KB
、
20% 1MB)
大文件隨機讀寫
(
操作塊
8KB
,對象文件
80% 500KB
、
20% 1MB)
小文件隨機讀
(
操作塊
1KB
,對象文件
80% 1KB
、
10% 10KB
、
10% 50KB)
小文件順序寫
(
操作塊
1KB
,對象文件
80% 1KB
、
10% 10KB
、
10% 50KB)
每個事務的用戶數均以固定步長逐漸增加,
最大可增加到
1000
個虛擬用戶。
其中,
「大文件順序讀寫」
事務的用戶數按照
40
的步長從
1
可增加到
400
個
(
測試至強伺服器
)
或
200
個
(
測試
TUALATIN
伺服器
)
,其
他事務則將用戶數按照
100
的步長從
1
增加至
1000
。我們期望得到其在不同用戶數時被測伺服器的性能表
現。總體上其走勢及峰值反映了該伺服器的性能。每項事務均運行三次,每次之間被測伺服器進行重啟,
最終結果為三次平均值。
2
、資料庫性能測試方法
「乘機安全小貼士」安全出行要重視
資料庫性能測試同樣使用了
Benchmark Factory
軟體,測試環境如同文件性能測試。測試時,在被測
伺服器上安裝
SQL Server 2000
使用企業版。首先在被測伺服器上創建新的資料庫,通過使用
Benchmark
Factory
預定義的
Database Spec
項目向資料庫中創建表,裝載數據。在伺服器端創建以
CPU
計算為主的
存儲過程,通過
10
台客戶機模擬用戶、按照
40
個虛擬用戶的步長遞增到
400
個用戶,執行該存儲過程。
結果是以獲得的每秒事務數
(TPS)
衡量伺服器的資料庫事務處理能力。
整個測試分為三次,
每次之間重新啟
動被測伺服器,最終取三次平均值作為評價結果。
3
、
Web
性能測試方法
Web
性能測試工具是由
Spirent
公司提供的
Caw WebAvalanche
。
WebAvalanche
模擬實際的用戶發出
HTTP
請求,
並根據回應給出具體的詳細測試結果。
它有以下特點:
能夠模擬成百上千的客戶端對伺服器發
出請求
;
能夠模擬真實的網路應用情況,
比如網站在高峰期的訪問量應該是動態的維持,
有新客戶端的加入,
同時也有原客戶的離去,
訪問量不是固定不變的
;
可以產生
20000
個連接
/
秒請求量,
足以滿足測試的需要
;
測試項目豐富,有訪問請求的成功失敗數,有
URL
和頁面的響應時間,有網路流量數,還有
HTTP
和
TCP
協
議的具體情況。
測試時,被測伺服器與
WebAvalanche
上都裝有千兆光纖網卡,兩網卡通過光纖直接連接。監控端
(
配
置為
PIII 1GHz/128M
內存
/20G
硬碟
)
安裝了帶
SP4
的
Windows 2000 Server,
該監控端與
WebAvalanche
通
過交叉線直連。在監控端通過
Web
瀏覽器配置
WebAvalanche
,在被測伺服器安裝了
SQL Server 2000
企業
版,並用微軟的
IIS
建立了
Web
伺服器。
測試分為靜態性能與動態性能兩部分。主要是因為在實際的
Web
應用中,有的站點靜態內容居多,提
供的服務也絕大多數是靜態的,
因此,
他們就會特別的關心伺服器靜態性能
;
同樣,
有的站點提供的服務交
互性的內容居多,他們就會更關心伺服器的動態性能。
被測網站中頁面大小及靜態、動態頁面所佔比例均參照實際網站得出,整個網站靜態、動態頁面所佔
比例是
70%
和
30%
,使用的動態頁面類型為
ASP
。請求頁面樣本的文件大小分布比例與整個網站的相同。
靜態性能測試模擬發出的均是靜態頁面請求。在測試動態性能時,動態頁面的訪問請求占
20%
,其餘
80%
為靜態頁面請求。我們根據實際的
Web
伺服器一天中的運行情況建立了一個伺服器頁面請求模型,該
模型由
4
個階段組成,第一階段是預熱階段,
WebAvalanche
發出的請求量由
0
慢慢上升到
200;
第二階段
是逐步加壓階段,請求量逐步累加到最大值
8200;
第三階段是動態維持階段
;
第四階段是下降階段,請求量
由最大值迅速下降為
0
。其中,最大請求量略大於實際伺服器能夠提供的事務處理量。
被測伺服器的靜態與動態測試分別測試三遍,每遍之間被測伺服器和測試儀均重啟,結果取三次的平
均值。由此可見,此伺服器測試方法立志於最終結果的准確性。
二、功能測試
在功能測試方面,我們對被測伺服器的可擴展性、可用性以及可管理性進行了綜合評價,其中可擴展
性包括硬碟、
PCI
槽以及內存等的擴展能力,可用性包括對熱插拔、冗餘設備
(
如硬碟、電源、風扇、網卡
等
)
的支持,可管理性則指的是伺服器隨機所帶的管理軟體。
我們在對伺服器進行總體評價時,綜合了性能、功能和價格三方面因素,依據《網路世界》所做的用
戶調查結果,分別給予不同權重,性能占
50%
,功能占
40%
,而價格則占
10%
。在分析性能時,資料庫性能
占其中的
50%
,而文件性能占
30%
,
Web
性能占
20%
。
綜上所述,這種全新的伺服器測試方法更夠更准確更直接的對伺服器進行測試,而且數據更加精確。
希望能給又需要的讀者朋友帶來一定的幫助
。
謝謝採納。
4、伺服器性能測試中有哪些常用的性能指標?
伺服器性能測試中有以下常用的性能指標:
【吞吐量】 固定時間間隔內的處理完畢事務個數。通常是1秒內處理完畢的請求個數,單位:事務/秒(tps);
【平均吞吐量】一段時間內吞吐量的平均值。無法體現吞吐量的瞬間變化;
【峰值吞吐量】一段時間內吞吐量的最大值。是用來評估系統容量的重要指標之一;
【最低吞吐量】一段時間內吞吐量的最小值。如果最小值接近0,說明系統有「卡」的現象;
【70%的吞吐量集中區間】通過統計15%和85%的吞吐量邊界值,計算出70%的吞吐量集中區間。區間越集中,吞吐量越穩定。
5、伺服器性能測試中有哪些常用的性能指標?
1.評價系統當前性能,判斷系統是否滿足預期的性能需求。
2.尋找軟體系統可能存在的性能問題,定位性能瓶頸並解決問題。
3.判定軟體系統的性能表現,預見系統負載壓力承受力,在應用部署之前,評估系統性能。
而對於用戶來說,則最關注的是當前系統:
1.是否滿足上線性能要求?
2.系統極限承載如何?
3.系統穩定性如何?
因此,針對以上性能測試的目的以及用戶的關注點,要達到以上目的並回答用戶的關注點,就必須首先執行性能測試並明確需要收集、監控哪些關鍵指標,通常情況下,性能測試監控指標主要分為:資源指標和系統指標,如下圖所示,資源指標與硬體資源消耗直接相關,而系統指標則與用戶場景及需求直接相關。
6、伺服器性能測試中有哪些常用的性能指標
計算機系統主要性能指標: 1)字:字CPU能夠直接處理二進制數據位數直接關系計算機計算精度、功能速度字越處理能力越強見微機字8位、16位32位 2)運算速度:運算速度指計算機每秒所能執行指令條數般用MIPS單位 3)主頻:主頻指計算機鍾頻率單位用MHz表示 4)內存容量:內存容量指內存儲器能夠存儲信息總位元組數般KB、MB單位 5)外設配置:外設指計算機輸入/輸設備
7、性能測試怎麼測伺服器的穩定性?
首先需要來在你的伺服器上下載源安裝HD Tune,這是國外的一款免費硬碟檢測軟體,默認是英文界面,不過大家可以在網上搜一下也能找到中文版的HD Tune軟體。
用HDtune對硬碟進行讀取性能測試。在軟體窗口的「基準」選項頁面中,點擊左上角的下拉列表選擇要進行性能測試的硬碟,軟體默認為「讀取」測試,然後點擊右邊的「開始(Start)」,如下圖所示:
華雲數據的雲伺服器開通後默認磁碟未分區,要通過該軟體測試寫入速率再開始測試。
8、如何使用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性能測試一樣,設計場景、執行測試、收集報告、分析性能瓶頸即可。