sysbench_测试
作者:互联网
unzip sysbench-1.0.17.zip 解压
cd sysbench-1.0.17 进入
./autogen.sh 执行
./configure 执行 注:报configure: error: mysql_config executable not found
解决:yum install mysql-devel
make -j 编译架构
make install 编译安装
卸载mariadb
rpm -qa | grep mariadb
yum -y remove mariadb-libs
安装数据库mysql5.7
进入MySQL安装包
由于依赖关系,所以顺序是固定的
rpm -ivh Mysql/mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh Mysql/mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh Mysql/mysql-community-libs-compat-5.7.16-1.el7.x86_64.rpm
rpm -ivh Mysql/mysql-community-client-5.7.16-1.el7.x86_64.rpm
rpm -ivh Mysql/mysql-community-server-5.7.16-1.el7.x86_64.rpm
systemctl start mysqld.service 启动数据库
重置数据库密码
vi /etc/my.cnf
添加 skip-grant-tables
use mysql;进入数据库
update user set authentication_string = ‘’ where user = ‘root’; 将密码置空
mysql_secure_installation 修改密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Admin@123’; MYSQL8.0修改密码
flush privileges;刷新库
进入数据库创建测试表
create database test ;
查询数据库
show databases;
准备压测数据
sysbench /opt/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=localhost
–mysql-port=3306 --mysql-user=root --mysql-password=Admin@123 --mysql-db=test
–oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000
–threads=10 --time=1800 --report-interval=10 prepare
执行测试
sysbench /opt/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=localhost
–mysql-port=3306 --mysql-user=root --mysql-password=Admin@123 --mysql-db=test
–tables=10 --table-size=100000 --report-interval=10 --threads=100 --time=1800
run
清理数据
sysbench /opt/share/sysbench/tests/include/oltp_legacy/oltp.lua
–mysql-host=localhost --mysql-port=3306 --mysql-user=root
–mysql-password=1234567 --mysql-db=test --oltp-tables-count=10 cleanup
模块解释
mysql-db=dbtest:测试使用的目标数据库,这个库名要事先创建
–oltp-tables-count=10:产生表的数量
–oltp-table-size=10000000:每个表产生的记录行数
–oltp-dist-type=uniform:指定随机取样类型,可选值有 uniform(均匀分布),
Gaussian(高斯分布), special(空间分布)。默认是special
–oltp-read-only=off:表示不止产生只读SQL,也就是使用oltp.lua时会采用读写混合模式。默认
off,如果设置为on,则不会产生update,delete,insert的sql。
–oltp-test-mode=nontrx:执行模式,这里是非事务式的。可选值有simple,complex,nontrx。默认是complex
simple:简单查询,SELECT c FROM sbtest WHERE id=N
complex (advanced
transactional):事务模式在开始和结束事务之前加上begin和commit,
一个事务里可以有多个语句,如点查询、范围查询、排序查询、更新、删除、插入等,并且为了不破坏测试表的数据,该模式下一条记录删除后会在同一个事务里添加一条相同的记录。
nontrx
(non-transactional):与simple相似,但是可以进行update/insert等操作,所以如果做连续的对比压测,你可能需要重新cleanup,prepare。
–oltp-skip-trx=[on|off]:省略begin/commit语句。默认是off
–rand-init=on:是否随机初始化数据,如果不随机化那么初始好的数据每行内容除了主键不同外其他完全相同
–num-threads=12: 并发线程数,可以理解为模拟的客户端并发连接数
–report-interval=10:表示每10s输出一次测试进度报告
–max-requests=0:压力测试产生请求的总数,如果以下面的max-time来记,这个值设为0
–max-time=120:压力测试的持续时间,这里是2分钟。
标签:10,--,oltp,测试,mysql,rpm,sysbench 来源: https://blog.csdn.net/weixin_41008387/article/details/120721641