dbt2是乙個oltp事務效能測試工具。它模擬乙個批發**商,多個職員訪問資料庫,更新客戶資訊和檢查庫存。
dbt2是乙個tpc』s tpc-c基準測試規範的不錯的實現,它是mysql的最流行的基準測試工具之一,但它的文件很缺乏。
dbt2需要的perl模組:
statistics
::descriptive
test
::parser
test
::reporter
安裝perl模組的方法:
$ sudo cpan statistics::descriptive
$ sudo cpan test::parser
$ sudo cpan test::reporter
注意:如果這些包丟失,它不會返回任何編譯錯誤。
$ wget
.net/project/osdldbt/dbt2/0.40/dbt2-0.40
.tar
.gz$ tar -zxf dbt2-0.40
.tar
.gz$ cd dbt2-0.40
$ ./configure –with-mysql[=/usr/local/mysql]
$ make
注意:如果你不通過包管理器(rpm、deb)安裝mysql或它的變種,你可以指定乙個–mysql路徑。
例如:在/usr/local/mysql中解開mysql的tar包。
dbt2的測試包括下列幾個階段:
1. 生成資料
通過datagen生成測試使用的資料。
使用方法:
datagen -w # [-c #] [-i #] [-o #] [-s #] [-n #] [-d ]
-w # : 倉庫表(warehouse)基數
-c # : 客戶表(customer)基數,預設3000
-i # : 商品表(item)基數,預設100000
-o # : 訂單表(order)基數,預設3000
-n # : 新訂單表(new-order)基數,預設900
-d : 資料檔案的輸出路徑
--sapdb :
sapdb的資料格式
--pgsql :
postgresql的資料格式
--mysql :
mysql的資料格式
例如:
$ mkdir /tmp/dbt2-w10
$ datagen -w
10-d /tmp/dbt2-w10 –mysql
2. 載入資料
使用build_db.sh載入資料。
選項:
-d -f -g (generate data files)
-s -h -u -p *
-e engine: [myisam|innodb]. (default innodb)>
-l local keyword while loading dataset> *
-v -w
例子:
build_db.sh -w
3-d dbt2 -f /tmp/dbt2-w3
-s /var/run/mysqld/mysqld.sock -h localhost -u root -p password -e innodb -v –l
使用中的問題:
(1) 文件說使用scripts/mysql/mysql_load_db.sh,但這個指令碼不存在。
取而代之,使用script/mysql/build_db.sh。
(2) 不載入檔案。
在build_db.sh中使用
< while
getopts
"d:h:f:gs:e:m:u:p:vlw:"選項替換
> while
getopts
"d:h:f:gs:e:m:u:p:vw:"選項。
資料庫密碼不是通過-p引數而是通過-x接收。
3. 執行資料
使用run_workload.sh執行測試。
用法:
run_workload.sh -c
of database connections> -d
of test> -w
of warehouses>
其它選項:
-d *
-h *
-l -o -s in milliseconds>
-n or keying time (default no)>
-u -x -z for the test>
使用中的問題:
(1) 文件說使用scripts/run_mysql.sh,但這個指令碼不存在!
取而代之使用scripts/run_workload.sh。
(2) 選項:
-h 不是指定資料庫的主機名,而是會列印幫助!使用-h代替
-d 不是資料庫名稱,而是測試持續的秒數
執行會失敗,除非執行下面的命令:
$ export use_pgpool=0
(3) 在指令碼中socket /tmp/mysql.sock是硬編碼的。如果你的伺服器的socket在不同位置,可以簡單地建立乙個symlink /tmp/mysql.sock 到你的socket位置 , 例如:
$ ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
例子:
tpcc-mysql是乙個oltp事務效能測試工具,由percona開發的基準測試工具。它生成tpc-c工作負載。
launchpad位置:
獲得分支:
$ bzr branch lp:~percona-dev/perconatools/tpcc-mysql
編譯:
$ cd tpcc-mysql/src
$ make
$ cd ..
1. 準備資料庫mysqladmin create tpcc10
mysql tpcc10 < create_table.sql
mysql tpcc10 < add_fkey_idx.sql
2. 載入資料./tpcc_load localhost tpcc10 root pass 10
選項:-hostname
-dbname
-dbuser
-dbpass
-number of warehouses
3. 開始測試tpcc_start -h localhost -d tpcc10 -u root -p pass
-w 10 -c 32 -r 10 -l 600
選項:-h : hostname
-d : dbname
-u : dbuser
-p : password
-w : warehouses
-c : connections
-r : rampup (warmup time)
-l : benchmark duration
在 readme裡的不正確用法: tpcc_start localhost tpcc1000 root "" 1000 32 10 10800
4. 測試結果
資料庫優化 基準測試(一)
基準測試是為了找出系統的瓶頸,包含 單個元件 單個元件的基準測試的比較須要考慮os配置 硬體 db系統 引數 schema 查詢及工作負載。定義基準前的目標。了解可反覆生成的工作負載 記錄全部的資訊,甚至看起來可能沒實用的。包含硬體資訊 配置 版本號 表大小等 建立基線。每個基準。都是未來的基線。定...
sysbench資料庫效能測試基準
背景介紹 我們如何判斷一台資料伺服器的效能呢?sysbench是一種行業基準,它通過各種指標來判斷乙個資料伺服器的負載情況。安裝sysbench curl s sudo bash sudo yum y install sysbench 測試 cpu cpu 測試計算素數,直到某個指定值所需要的時間。...
sysbench進行資料庫效能基準測試
1 建立用於基準測試用的資料庫和資料庫使用者 create database sys test grant all privileges on to zhaoheng localhost identified by 123456 給予使用者所有許可權 2 生成測試資料 進入lua指令碼目錄,預設在 ...