精煉概括Oracle性能測試
經(jīng)過長時間學(xué)習(xí)Oracle性能測試,Oracle性能測試主要是模擬大量的sql語句操作,來對數(shù)據(jù)庫服務(wù)器進行加壓。這里和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。在測試前,需要準(zhǔn)備以下要模擬的sql語句,測試腳本,并將測試控制機、測試加壓機、被測數(shù)據(jù)庫服務(wù)器準(zhǔn)備妥當(dāng)。
腳本協(xié)議選擇Oracle(2-Tier),將所有要模擬的sql語句放在一個sql文件內(nèi),使用sql-plus來操作數(shù)據(jù)庫載入,使用 loadrunner來錄制。錄制好之后就是修改腳本了,首先在vdf.h文件中定義變量(static void FAR * OraBind1;),定義參數(shù)(static LRD_VAR_DESC UID ={LRD_VAR_DESC_EYECAT, 1, 10, LRD_DBTYPE_Oracle, {1, 1, 0},DT_SF_STRIPPED_SPACES};)。
為什么要在這里定義而不直接只用參數(shù)化呢?因為那樣會對加壓機造成很大的壓力,不利于測試。這里需要根據(jù)你的腳本來變化,你在腳本中使用了多少變量,多少參數(shù),那么你就在要這里定義多少。接下來修改腳本的,將一次性的登陸登出放在init和end中,使用lrd_assign和 lrd_ora8_bind_placeholder命令替代參數(shù),如
- 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^
將腳本放在控制機上,就可以開始加壓了,注意的是,被測數(shù)據(jù)庫服務(wù)器的各個參數(shù)配置要記錄下來,以便修改參數(shù)調(diào)優(yōu)時能分析清晰。記錄下數(shù)據(jù)庫的iops,time,tps和響應(yīng)時間,結(jié)果匯總出報告。以上介紹Oracle性能測試。
【編輯推薦】