sysbench对oracle进行压力测试

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
posted @   monkey6  阅读(3255)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示