oracle性能測試

發表于:2007-11-13來源:作者:點擊數: 標簽:性能測試oracle
今天說一下 oracle 的 性能測試 。oracle的性能測試主要是模擬大量的 sql 語句操作,來對 數據庫 服務器 進行加壓。在測試前,需要準備以下要模擬的sql語句, 測試腳本 ,并將測試控制機、測試加壓機、被測數據庫服務器準備妥當。 腳本協議選擇oracle(2-Tier
 今天說一下oracle性能測試。 oracle的性能測試主要是模擬大量的sql語句操作,來對數據庫服務器進行加壓。在測試前,需要準備以下要模擬的sql語句,測試腳本,并將測試控制機、測試加壓機、被測數據庫服務器準備妥當。

        腳本協議選擇oracle(2-Tier),將所有要模擬的sql語句放在一個sql文件內,使用sql-plus來操作數據庫載入,使用loadrunner來錄制。錄制好之后就是修改腳本了,首先在vdf.h文件中定義變量(static void FAR *           OraBind1;),定義參數(
static LRD_VAR_DESC         UID =
    {LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_ORACLE, {1, 1, 0},
        DT_SF_STRIPPED_SPACES};)。
為什么要在這里定義而不直接只用參數化呢?因為那樣會對加壓機造成很大的壓力,不利于測試。這里需要根據你的腳本來變化,你在腳本中使用了多少變量,多少參數,那么你就在要這里定義多少。接下來修改腳本的,將一次性的登陸登出放在init和end中,使用lrd_assign和lrd_ora8_bind_placeholder命令替代參數,如
 lrd_ora8_stmt(OraStm6, "SELECT COUNT(*) as counter FROM ***** WHERE ***_id="
        ":U  and ( status = 0 or "
        "status is null)", 1, 0, 0);
 lrd_assign(&UID , "", "", 0, 0);
 lrd_ora8_bind_placeholder(OraStm6, &OraBind1, "U", &UID , 0, 0, 0);
,這樣,腳本就差不多大功告成了。編譯一下,沒有問題就通過了^o^

         將腳本放在控制機上,就可以開始加壓了,注意的是,被測數據庫服務器的各個參數配置要記錄下來,以便修改參數調優時能分析清晰。記錄下數據庫的iops,time,tps和響應時間,結果匯總出報告。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97