前言

        最近在研究tidb,功能测试后想用公司真实的业务数据进行下性能测试,用来作为评估以及技术选型的评判标准,在性能测试前需要选择性能测试工具,这里我选择的的是sysbench。sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。目前支持的数据库主要有MySQL、Oracle和PostgreSQL。由于tidb基本上做到了对mysql的兼容,所以可以选择sysbench作为tidb的性能测试工具,下面先说明下在centos 7下怎么安装sysbench

正文

依赖

        sysbench的安装需要依赖libtool,automake以及mysql,优先解决这三个依赖问题,下面所有的安装均采用yum的方式,请保证互联网畅通或者有自己的yum server

libtool&automake

        这两个比较简单,简单粗暴的使用下列命令安装:

yum install automake libtool –y

        这样的话,如果已经安装了则会直接跳过,未安装的话会直接安装

mysql

        mysql的话,相对复杂点,因为涉及到的组件比较多,所以建议先查看下当前机器已有的mysql组件,使用下面的命令:

rpm -qa | grep mysql

        我的机器返回值如下:

centos7 安装 sparksql centos7安装synopsys_mysql

从上面可以看出来我的机器上已经安装了mysql的server,client以及devel这三部分,此处需要关注devel,因为sysbench会关注,如果没有的话,会在编译的时候报错,报错信息如下:

centos7 安装 sparksql centos7安装synopsys_centos7 安装 sparksql_02

如果有mysql仅仅没有devel的话,安装devel即可,命令如下:

yum install mysql-devel -y

        如果完全没有mysql,则建议简单粗暴完全安装,命令如下:

#安装mysql server
yum install mysql-community-server -y
#安装mysql client
yum install mysql-community-client.x86_64 -y
#安装mysql devel
yum install mysql-devel -y

        安装完成后再次执行命令已确认所有mysql相关组件是否安装完成并且是否正常启动:

#查看mysql安装状态
rpm -qa | grep mysql
#查看mysql启动状态
systemctl status mysqld.service
#启动mysql
systemctl start mysqld.service
#重启mysql
systemctl restart mysqld.service

安装

        下面开始正式安装sysbench了,这里我使用的是sysbench 1.0版本。

下载解压

#获取包
wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"
#解压
unzip sysbench-1.0.zip
#创建软链接
ln -s sysbench-1.0 sysbench
#进入目录
cd sysbench

编译安装

./autogen.sh
./configure  #如果报错建议查看下上面的依赖,尤其是mysql的依赖是否安装
make
make install

状态查看

        如果上面的依赖都已经成功安装,那编译安装的过程应该会比较顺利的完成,最后查看下安装状态:

sysbench --version

        查看返回值:

sysbench 1.0.20

        说明sysbench已经安装成功,可以正常使用了。后续的使用方法以及tidb的压测流程后续在别的文章中再详细讨论吧