Sysbench壓測Oracle
1.安裝
1.1.下載sysbench安裝包
mysql官網:sysbench下載
github下載:sysbench下載
digoal收藏:sysbench下載
sysbench 0.5以上版本不再支持Oracle,因此如果需要壓測Oracle,需要下載sysbench 0.5版本
1.2.安裝Oracle客戶端
1.3.解壓安裝sysbench
1.3.1.sysbench 0.4版本安裝
tar vxf sysbench-0.4.12.16.tar.gz
echo "/oracle/11204/lib/" > /etc/ld.so.conf.d/oracle-client-11.2.conf
ldconfig
cd sysbench-0.4.12.16/
./configure --prefix=/usr/local/sysbench --with-oracle="/oracle/11204" --without-mysql
make
make install
vi ~/.bash_profile
export PATH=$PATH:/usr/local/sysbench/bin
source .bash_profile
1.3.2.sysbench 0.5版本安裝
yum -y install automake libtool
unzip sysbench-0.5.zip
echo "/oracle/11204/lib/" > /etc/ld.so.conf.d/oracle-client-11.2.conf
ldconfig
cd sysbench-0.5/
./autogen.sh
./configure --prefix=/usr/local/sysbench --with-oracle="/oracle/11204" --without-mysql
make
make install
vi ~/.bash_profile
export PATH=$PATH:/usr/local/sysbench/bin
source .bash_profile
2.進行壓力測試
2.1.查看幫助
本次使用的是0.5版本
sysbench
可以看到使用oracle驅動被編譯進sysbench中了
2.2.准備數據
需要進去oracle用戶,並且數據庫TNS配置在tnsnames.ora中
su - oracle
vi .bash_profile
export PATH=$PATH:/oracle/11204/bin:/usr/local/sysbench/bin
source ~/.bash_profile
sysbench --test=oltp --db-driver=oracle --oltp_tables_count=8 --oltp-table-size=100000 --oracle-db=racdb --oracle-user=monkey --oracle-password=xxxxx prepare
執行上面的語句后,報錯
解決方法:
下載.lua文件,替換原本的.lua文件
github:lua文件下載
cd /usr/local/sysbench/share/sysbench/
mkdir backup
mv *.lua backup/
unzip sysbench_lua-master.zip
cd sysbench_lua-master/lua/
mv *.lua /usr/local/sysbench/share/sysbench/
su - oracle
cd /usr/local/sysbench/share/sysbench/
sysbench --test=oltp --db-driver=oracle --oltp_tables_count=8 --oltp-table-size=100000 --oracle-db=racdb --oracle-user=monkey --oracle-password=xxxxx prepare
2.3.壓力測試
2.3.1.數據准備
su - oracle
cd /usr/local/sysbench/share/sysbench/
sysbench --test=oltp --db-driver=oracle --oltp_tables_count=8 --oltp-table-size=100000 --oracle-db=racdb --oracle-user=monkey --oracle-password=xxxxx prepare
2.3.2.壓力測試
sysbench --test=oltp --db-driver=oracle --oltp-tables-count=8 --oltp-table-size=100000 --oracle-db=racdb --oracle-user=monkey --oracle-password=xxxxx --max-time=900 --max-requests=10000000 --num-threads=40 --report-interval=10 run
max_time:壓力測試時間,單位秒
num-threads:打開多少個連接(並發數)
report-interval:多久顯示一次壓測結果,單位秒
test:oltp是混合的壓測,包括增刪改查。在/usr/local/sysbench/share/sysbench/下面的腳本都可以使用
2.3.3.清理壓測數據
sysbench --test=oltp --db-driver=oracle --oltp_tables_count=8 --oracle-db=racdb --oracle-user=monkey --oracle-password=xxxxx cleanup