ASBench數(shù)據(jù)庫壓測(cè)工具
ASBench一款可以同時(shí)對(duì)Oracle、PostgreSQL、MySQL做性能對(duì)比測(cè)試的數(shù)據(jù)庫壓測(cè)工具
目前能靈活編寫SQL或測(cè)試腳本對(duì)不同的數(shù)據(jù)庫進(jìn)行壓測(cè)對(duì)比的工具比較少,而此壓測(cè)軟件就是可以編寫包含壓測(cè)SQL的lua腳本,完成對(duì)Oracle、MySQL、PostgreSQL的壓測(cè),從而對(duì)比這些數(shù)據(jù)庫在不同SQL下的性能差異。
安裝和測(cè)試
在gitee的軟件項(xiàng)目的release(https://gitee.com/csudata/asbench/releases/0.1)中找到asbench的發(fā)行版本 asbench.X.Y.tar.xz(其中X.Y是版本號(hào))解壓開,有目錄asbenchXX,下面有一些文件:
- asbench_mysql
- asbench_ora
- asbench_ora11
- asbench_ora19
- asbench_pg
- bench_ora.sh
- bench_pg.sh
- lua
- tnsnames.ora
測(cè)試Oracle
如果主機(jī)上沒有安裝Oracle客戶端程序,需要到在gitee的軟件項(xiàng)目的release(https://gitee.com/csudata/asbench/releases/0.1)中下載:
- oracle-instant11.2.tar
- oracle-instant12.2.tar
- oracle-instant19.9.tar
根據(jù)不同的oracle版本下載不同的客戶端版本,下載下來后,使用rpm命令安裝即可:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
注意如果我們測(cè)試Oracle 11.2,需要把連接文件asbench_ora指向asbench_ora11。
修改bench_ora.sh中的內(nèi)容:
Oracle的環(huán)境變量:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH export PATH=/usr/lib/oracle/11.2/client64/bin:$PATH
測(cè)試相關(guān)的內(nèi)容:
- --test=lua/select.lua: 是指定測(cè)試項(xiàng),select.lua是一個(gè)按主鍵隨機(jī)查詢的測(cè)試
- --oracle-db=oradb: 自定Oracle的連接服務(wù)名,這里的oradb需要在tnsnames.ora中的一個(gè)名稱
- --oracle-user=sysbench: 測(cè)試使用的數(shù)據(jù)庫用戶名稱
- --oracle-password=sysbench: 測(cè)試使用的數(shù)據(jù)庫用戶的密碼
在tnsnames.ora中配置數(shù)據(jù)庫的連接。
做好上面的配置后,就可以先初始化數(shù)據(jù):
./bench_ora prepare
測(cè)試:
./bench_ora run
可以自己建一些測(cè)試的lua文件,如從lua/select.lua拷貝成一些新的文件:my_select.lua,修改其中的SQL,然后修改bench_ora中的lua/select.lua成lua/my_select.lua,然后運(yùn)行./bench_ora run就可以開始測(cè)試了。
