簡單概述Oracle性能測試
Oracle經(jīng)過長時(shí)間的發(fā)展,很多用戶都很了解Oracle,這里我進(jìn)行了Oracle性能測試,和大家討論討論。在測試前,需要準(zhǔn)備以 下要模擬的sql語句,測試腳本,并將測試控制機(jī)、測試加壓機(jī)、被測數(shù)據(jù)庫服務(wù)器準(zhǔn)備妥當(dāng)。
腳本協(xié)議選擇Oracle(2-Tier),將所有要模擬的sql語句放在一個(gè)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ù)化呢?因?yàn)槟菢訒訅簷C(jī)造成很大的壓力,不利于測試。這里需要根據(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);
這樣,腳本就差不多大功告成了。編譯一下,沒有問題就通過了。
將腳本放在控制機(jī)上,就可以開始加壓了,注意的是,被測數(shù)據(jù)庫服務(wù)器的各個(gè)參數(shù)配置要記錄下來,以便修改參數(shù)調(diào)優(yōu)時(shí)能分析清晰。記錄下數(shù)據(jù)庫的iops,time,tps和響應(yīng)時(shí)間,結(jié)果匯總出報(bào)告,以上總結(jié)介紹Oracle性能測試。
【編輯推薦】