sysbench性能压测以及mysql性能压测

释放双眼,带上耳机,听听看~!

    sysbench
性能压测以及
mysql
性能压测

一、Sysbench
是一个模块化的、跨平台、多线程基准测试工具,主要用于各种不同系统的参数下的数据库负载情况。

 

主要测试方式
cpu性能 磁盘io性能 调度程序性能 内存分配及传输速度 posix线程性能 数据库性能(OLTP基准测试)
找范围内最大素数{时间越短越好} 不同场景下iops{越大越好} 线程并发执行,循环响应信号量花费的时间{越少越好} 以不同块大小传输一定的数量的数据吞吐量大小{越大越好} 并发线程同时申请互斥锁循环一定次数花费的时间{越少越好} qps、tps越高越好

1
1

目前sysbench
主要支持
MYSQL,pgsql,oracle 

3
种数据库

 

二、
安装测试环境:centos6.8   mysql5.7.19

三、
安装sysbench-0.5

源码地址https://github.com/BoobooWei/sysbench/archive/master.zip

下载到电脑桌面,然后xshell
连接服务器,下载上传软件工具

#cd /usr/local/src/

#yum install lrzsz -y

#rz      #
选中下载的软件进行上传

#unzip sysbench-master.zip

#cd sysbench-master

#yum install -y automake libtool -y

#./autogen.sh

报错:autom4te: /usr/bin/m4 failed with exit status: 63

      aclocal: autom4te failed with exit status: 63

显示版本太低了

#
查看版本信息 :
yum info autoconf

#
查看路径:
which autoconf

#
移除低版本的:
rpm -qf /usr/bin/autoconf  rpm -e –nodeps autoconf-2.63

#cd /usr/local/src

#
下载新版本软件:
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

#tar -xzf autoconf-2.69.tar.gz

#cd autoconf-2.69

#./configure

#make && make install

#
检查版本是否正确   
autoconf -V   #
显示路径还是错的

#
如果报错重新安装如果没有跳过  
make uninstall   make clean

#./configure –prefix=/usr

#make && make install

#autoconf -V   
显示正常

#cd /usr/local/src/sysbench-master

#./autogen.sh  
显示正常

#./configure    

报错:cannot find MySQL libraries. If you want to compile with MySQL support,
缺少
mysql
依赖

# yum install mysql-devel -y

#./configure      
显示正常

#make && make install

四、
安装mysql5.7.19

#wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

#rpm -Uvh mysql57-community-release-el6-9.noarch.rpm

#yum install mysql-community-server

#service mysqld start

#grep 'temporary password' /var/log/mysqld.log

#mysql -uroot -p

#
输入过滤出来的密码

#set global validate_password_policy=0;      #
设置密码复杂度

#set global validate_password_length=6;      #
设置密码长度

#ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123';   #
更改密码

#create database sbtest;

#quit

 

五、测试

Mysql
数据库测试

sysbench 0.5
通过一系列
LUA
脚本来替换之前的
oltp
,来模拟更接近真实的基准测试环境。这些测试脚本包含:
insert.lua

oltp.lua

parallel_prepare.lua

select_random_points.lua

update_index.lua

delete.luaoltp_simple.lua

select.lua

select_random_ranges.lua

update_non_index.lua
,脚本使用方式基本类似。

 

sysbench 0.5
默认使用
sbtest
库,但是需要自己手工先创建好,也可以使用
–mysql-db
指定,其他非默认项指定选项:

 

–mysql-host

 

–mysql-port

 

–mysql-socket

 

–mysql-user

 

–mysql-password

 

–mysql-db

 

–mysql-ssl

 

prepare

 

生成表并插入数据,可使用parallel_prepare.lua
脚本来并行准备数据。

 


db-driver 
服务器类型
mysql | drizzle,
默认为
mysql

 


mysql-table-engine 
表存数引擎

 


myisam-max-rows MyISAM

MAX_ROWS
选项
(
用于大表
)

 


-oltp-table-count 
生成表数量
[sbtest1

sbtest2…]

 


oltp-table-size 
生成表的行数

 


oltp-secondary ID
列生成二级索引而不是主键

 


-oltp-auto-inc
设置
ID
列是否自增 
on | off
,默认为
on –oltp-read-only=on

 

–test=sysbench-0.5/sysbench/tests
目录下测试脚本

 

sysbench \

–test=/root/sysbench-master/sysbench/tests/db/oltp.lua  \

–mysql-host=localhost  \

–mysql-port=3306  \

–mysql-user=root  \

–mysql-password=abc123 \

–oltp-table-size=100000 \

–num-threads=8 \

–max-time=10 \

–mysql-db=sbtest \

–max-requests=0 \

–oltp-test-mode=complex \

–report-interval=1 \

–mysql-table-engine=innodb  \

[prepare|run|cleanup]
准备
/
测试

给TA打赏
共{{data.count}}人
人已打赏
安全运维

OpenSSH-8.7p1离线升级修复安全漏洞

2021-10-23 10:13:25

安全运维

设计模式的设计原则

2021-12-12 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索