圖 2. 添加線程組
在下一個(gè)屏幕中(參見 圖 3),您可以定義測(cè)試中所要包含的線程或模擬用戶的數(shù)量。 等候周期(Ramp-Up Period)指定了 JMeter 在向數(shù)據(jù)庫暴露模擬用戶之前應(yīng)當(dāng)?shù)却臅r(shí)間。例如,如果我們有 30 個(gè)模擬用戶,等候周期為15秒,那么我們會(huì)每秒向數(shù)據(jù)庫暴露 2 個(gè)用戶(30 個(gè)用戶/15 秒)。如果將等候周期設(shè)置為 0,JMeter 會(huì)自動(dòng)一次啟動(dòng)所有模擬用戶。循環(huán)計(jì)數(shù)(Loop Count)指定了 JMeter 要重復(fù)測(cè)試的次數(shù)。在這個(gè)屏幕中,還可以修改我們的線程組名稱。接下來按 圖 3 所示輸入設(shè)置,這將為我們提供 30 個(gè)同時(shí)啟動(dòng)的用戶。該測(cè)試將運(yùn)行 100 次。
圖 3. 線程組的設(shè)置
與數(shù)據(jù)庫對(duì)話
現(xiàn)在,我們將指定如何與 DB2 UDB 通信。我們要以 JDBC 請(qǐng)求的形式與 DB2 UDB 進(jìn)行通信。右擊剛才建立的線程組( DB2 Test),選擇 Add => Sampler => JDBC Request。
然后,您將看到一個(gè)屏幕,我們可以在其中設(shè)置一些只與 DB2 有關(guān)的信息,這樣才能與我們的 DB2 數(shù)據(jù)庫進(jìn)行對(duì)話。這些信息包括:JDBC URL、JDBC 驅(qū)動(dòng)程序,以及我們的用戶名和口令。在這個(gè)屏幕上, 我們還可以指定有關(guān)連接池的信息,以及想要應(yīng)用到數(shù)據(jù)庫上的 SQL 查詢。
接下來,我們使用 圖 5 所示的值進(jìn)行測(cè)試。對(duì)于那些不太熟悉連接池的讀者來說,連接池是一組數(shù)據(jù)庫連接的維護(hù),以便應(yīng)用程序重復(fù)使用。數(shù)據(jù)庫連接池在 Web 環(huán)境中很常見,因?yàn)?Web 用戶連接、斷開連接非常頻繁。在數(shù)據(jù)庫世界中,獲得數(shù)據(jù)庫連接是一項(xiàng)昂貴的操作。我們必須建立連接、維持連接,然后在操作完成的時(shí)候斷開連接。利用 JMeter,我們可以分析連接池的優(yōu)勢(shì)。
圖 5. 指定數(shù)據(jù)庫的連接信息
用監(jiān)聽器監(jiān)聽結(jié)果
這時(shí),我們真正定義了一個(gè) JMeter 測(cè)試,它將測(cè)試我們的 DB2 數(shù)據(jù)庫。此時(shí)我們面臨的問題是沒有辦法看到測(cè)試結(jié)果。為了解決這個(gè)問題,請(qǐng)右擊 JDBC Request,然后選擇 Add => Listener => Graph Results ,如下圖所示:
圖 6. 指定圖形化結(jié)果