經過長時間學習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 , "{UID}", "", 0, 0);
- lrd_ora8_bind_placeholder(OraStm6, &OraBind1, "U", &UID , 0, 0, 0);
這樣,腳本就差不多大功告成了。編譯一下,沒有問題就通過了^o^
將腳本放在控制機上,就可以開始加壓了,注意的是,被測數據庫服務器的各個參數配置要記錄下來,以便修改參數調優時能分析清晰。記錄下數據庫的iops,time,tps和響應時間,結果匯總出報告。以上介紹Oracle性能測試。