• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    測試您的DB2數據庫:用JMeter測量性能

    發布: 2009-3-16 10:32 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 61次 | 進入軟件測試論壇討論

    領測軟件測試網

    簡介

    在當今快節奏的世界中,只是完成工作是不夠的。完成工作,并且要以最簡便的方式完成工作,這才是關鍵。數據庫世界也不能幸免這種對性能的渴求?蛻粝M軌蜓杆俣行У乇4婧吞崛∑鋽祿。在許多場合設置中,IBM 的 ® DB2® Universal DatabaseTM都擁有領先的性能跟蹤記錄,領先于眾多的數據庫競爭對手。

    不幸的是,由于數據庫或者配置中的某些設計缺陷,許多 DB2 用戶可能無法獲得 DB2 性能的所有益處。有許多關于 DB2 性能調整的文章和論文,DB2 中也有許多能夠進行深入分析的好工具。我將在這篇文章中介紹一個工具 —— Apache 的 JMeter,這是另外一個可以添加到您的工具箱中的工具,它可以幫助您了解數據庫的性能,還能幫助您進行模擬測試。


    關于 Apache JMeter

    JMeter 是 Apache Jakarta 項目麾下的一個產品。JMeter 是基于 JavaTMSwing 的桌面應用程序,是為進行負載測試、測量系統性能而設計的。最初,它是為測試 Web 應用程序而設計的。但是它后來進行了擴展,現在您已經可以用它來測試關系數據庫了(通過 JDBCTM)。在 JMeter 的官方站點http://jakarta.apache.org/jmeter/上,您可以了解關于它的更多內容。

    利用 JMeter,您可以確保您的數據庫可以滿足某些指標(例如能夠處理一定數量的并發用戶)。模擬測試是成功項目的關鍵。JMeter 可以針對 DB2 模擬出繁重的負載。這可以通過 JMeter 的多線程框架來實現。JMeter 的多線程框架允許大量線程進行并發采樣。正如您將在本文后面看到的,JMeter 能為您提供圖形化的反饋。


    獲得 JMeter 并設置您的測試環境

    您可以從http://jakarta.apache.org/builds/jakarta-jmeter/release/下載 JMeter 的最新發行版。在我撰寫這篇文章時,最新的 JMeter 版本是 1.8。JMeter 要求在 Sun 的 JDK1.4(或者更高)環境中工作。IBM JDK(指當前版本)似乎與 JMeter 不兼容。JMeter 已經在各種 UNIX® 變體 (包括 Solaris 和 Linux) 和 Windows®(98®、NT® 和 2000®)上通過了測試。

    為了方便我們對 DB2 進行的 JDBC 測試,需要把 DB2 的 JDBC 驅動程序復制到<jmeter 安裝目錄>\jakarta-jmeter\lib目錄下。對于 DB2 8.1 ,在默認安裝情況下,DB2 驅動程序的位置是c:\program files\ibm\sqllib\java\db2java.zip。奇怪的是,如果 DB2 的 JDBC 驅動程序以 zip 文件命名,JMeter 將找不到 DB2 的 JDBC 驅動程序。要解決這個問題,您必須將文件名更改為.JAR文件。您可以把 lib 目錄中的文件改名為db2java.jar。另一方面,如果想測試 DB2 8.1 Java Common Client (JCC) 驅動程序,只需將db2jcc.jar文件復制到 JMeter 的 lib 目錄下即可(不用更改名稱)。

    在沙箱中放沙子

    在我們開始使用 JMeter 之前,我們需要建立一個有一些測試數據的數據庫。

    在 DB2 的命令行處理器中輸入以下內容: create db loaddb
    連接loaddb數據庫,如下所示: connect to loaddb user db2admin using db2admin
    建立一個表,保存我們的測試數據: create table loadtable (col1 varchar(25) not null, col2 varchar(25) not null, col3 varchar(25) not null)
    用大量記錄填充表,這樣我們才能用 JMeter 來測試查詢性能。我用了一個小小的 JDBC 程序來完成這項工作,在清單1中可以看到它,該程序將在可裝入表中插入 30,000 條記錄。然后編譯并執行這段代碼,用測試數據填充可裝入表。

    清單 1. 將記錄插入數據庫 

    package com.ibm.jmetertest; import java.sql.*; public class JMeterPopulator { public static void main(String[] args) { try { Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); String dbName = "loaddb"; String url = "jdbc:db2:" + dbName; String userName = "db2admin"; String password = "db2admin"; Connection con = DriverManager.getConnection(url,userName, password); int numOfTestRecords = 30000; PreparedStatement statement = con.prepareStatement("INSERT INTO LOADTABLE VALUES(?,?,?)"); for (int i =0; i<numOfTestRecords; i++) { statement.setString(1,"Col1Test-" + i); statement.setString(2,"Col2Test-" + i); statement.setString(3,"Col3Test-" + i); statement.executeUpdate(); System.out.println(i); } } catch(Exception e) { System.out.println("An error has occurred: " + e.toString()); e.printStackTrace(); } } }

    現在我們有了相當數量的記錄,讓我們用 JMeter 來測試一下查詢性能。

    進入 JMeter

    要啟動 JMeter,需要運行<jmeter 安裝目錄 >\jakarta-jmeter\bin目錄下的jmeter.bat文件。

    當啟動 JMeter 時,您會看到一個主屏幕,屏幕左邊有一個面板,其中還沒有定義測試計劃(參見圖 1)。在 JMeter 中,一個測試計劃是由一個或多個線程組構成的。線程代表模擬用戶,線程組(thread group)是一組模擬用戶。


    圖 1. JMeter 的主屏幕

    讓我們從建立線程組開始。方法是右擊TestPlan節點,選擇Add => Thread Group。參見圖 2。


    圖 2. 添加線程組

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: jmeter JMeter Jmeter 數據庫 性能

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>