數據庫的性能測試

性能測試工具 LoadRunner   數據庫性能測試工具:Benchmark

任務引入
        數據庫性能測試的需求,一般來源於下面幾個方面:
1、 數據庫調優;
2、 數據庫選型;
3、 數據庫服務器選型;

1)  LOADRUNNER應用
        測試任務:評估某項目的核心業務邏輯(數據查詢、數據複用、抽取同步整合)在不同壓力下的性能表現,判斷系統瓶頸,得到最優系統配置參數和建議,併爲數據庫的試運行工作提供可靠的性能可行性依據;
        數據查詢性能指標:900個用戶併發,平均響應時間在3秒以內;
        數據庫性能測試需求:數據庫調優或服務器選型;
include "lrd.h"

Action()
{
static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};

static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
{
        {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}
};

static void FAR *       OraEnv1;
static void FAR *       OraSvc1;
static void FAR *       OraSrv1;
static void FAR *       OraSes1;
static void FAR *       OraStm1;
unsigned long           rownum;

lrd_init(&InitInfo, DBTypeVersion);
lrd_initialize_db(LRD_DBTYPE_ORACLE,3, 0);
lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);

//連接數據庫
lrd_server_attach(OraSrv1, "vmvare_192.168.1.47", -1, 0, 0);
lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);

//設定數據庫密碼
lrd_ora8_attr_set(OraSes1, USERNAME, "username", -1, 0);
lrd_ora8_attr_set(OraSes1, PASSWORD, "password", -1, 0);

//初始化連接session
lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

//開始連接數據庫
lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);

//設定查詢語句
lrd_ora8_stmt(OraStm1, "SELECT * FROM T_TASK_ALARM_TYPE WHERE TYPE_CODE=7", 1, 0, 0);

//執行查詢語句
lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum, 0, 0, 0, 0, 1);

//釋放連接數據庫的各種變量
lrd_handle_free(&OraStm1, 0);
lrd_session_end(OraSvc1, OraSes1, 0, 0);
lrd_server_detach(OraSrv1, 0, 0);
lrd_handle_free(&OraEnv1, 0);

//lrd_end(0);
 return 0;
}
        上面的LoadRunner腳本在Virtual User Generator調試通過後,在Controller中打開,用900個模擬用戶併發測試,即可得出性能指標(LoadRunner的操作這裏就不在贅述,google一下)。
        從上面的例子看出,此應用比較難懂,是LoadRunner專屬的方法,而且可擴展性不強。如果再遇到其他類型的數據庫測試,協議將會是一個很大的問題。所以,爲了容易理解,可擴展性強,引出了下面的JAVA應用方法。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章