sysbench如何安装

时间:2020-11-11 14:54:56

简介

sysbench是一款开源的多线程性能测试工具,可以执行CPU、内存、线程、IO、数据库等方面的性能测试

开源地址:https://github.com/akopytov/sysbench

编译和测试方式

1. 选择操作环境

本文选用华为鲲鹏云服务ECS KC1实例做测试

2.获取源代码

https://github.com/akopytov/sysbench/releases提供sysbench各版本的源码压缩包,可以直接下载。

3.编译源代码

本文以“sysbench-1.0.16”版本、数据库以MariaDB为例,下载源码,并编译安装。

1)安装sysbench的依赖包。

yum install gcc gcc-c++ automake make libtool -y

2)(可选)安装MariaDB数据库。

若已经安装,可跳过此步骤。

yum install mariadb-server -y

3)启动并进入数据库。

systemctl  start mariadb
mysql

4) 创建 “sysuser”账户供后续测试sysbench使用。

create user 'sysuser'@'localhost' IDENTIFIED BY '123456';
flush privileges;
GRANT ALL ON *.* TO 'sysuser'@'localhost';
flush privileges;

创建账号名为“sysuser”,密码为 “123456”的账号,供后续测试sysbench使用。

5)安装sysbench的依赖包mysql-devel。

yum install mysql-devel -y

6)查询MariaDB的库文件保存路径。

mysql_config -help

记录回显信息中的“pkgincludedir”和“pkglibdir”的值,供后续步骤使用,如下面加粗部分所示。

Usage: /usr/bin/mysql_config [OPTIONS]
Options:
       --cflags         [-I/usr/include/mysql]
       --include        [-I/usr/include/mysql]
       --libs           [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto]
       --libs_r         [-L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto]
       --plugindir      [/usr/lib64/mysql/plugin]
       --socket         [/var/lib/mysql/mysql.sock]
       --port           [0]
       --version        [5.5.60]
       --libmysqld-libs [-L/usr/lib64/mysql -lmysqld]
       --variable=VAR   VAR is one of:
      pkgincludedir [/usr/include/mysql]
      pkglibdir     [/usr/lib64/mysql]
      plugindir     [/usr/lib64/mysql/plugin]

7)下载sysbench源码。

wget https://github.com/akopytov/sysbench/archive/1.0.16.tar.gz

8)解压并编译安装sysbench。

tar -zxvf 1.0.16.tar.gz
cd sysbench-1.0.16
./autogen.sh
./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql --with-mysql

l  “/usr/include/mysql”为6中查到的“pkgincludedir”的值。

l  “/usr/lib64/mysql” 为6中查到的“pkglibdir”的值。

回显信息如下,则表示生成编译文件成功。

===============================================================================

sysbench version   : 1.0.16

CC                 : gcc -std=gnu99

CFLAGS             : -O2 -funroll-loops -ggdb3  -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnest

ed-externs -Wno-format-zero-length -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls

 -Wcast-align -Wvla   -pthread

CPPFLAGS           : -D_GNU_SOURCE  -DCK_MD_CACHELINE=128  -I$(top_srcdir)/src -I$(abs_top_builddir)/third_party/luajit/inc 

-I$(abs_top_builddir)/third_party/concurrency_kit/include

LDFLAGS            : -L/usr/local/lib 

LIBS               : -lm 

EXTRA_LDFLAGS      : 




prefix             : /usr/local

bindir             : ${prefix}/bin

libexecdir         : ${prefix}/libexec

mandir             : ${prefix}/share/man

datadir            : ${prefix}/share




MySQL support      : yes

Drizzle support    : no

AttachSQL support  : no

Oracle support     : no

PostgreSQL support : no




LuaJIT             : bundled

LUAJIT_CFLAGS      : -I$(abs_top_builddir)/third_party/luajit/inc

LUAJIT_LIBS        : $(abs_top_builddir)/third_party/luajit/lib/libluajit-5.1.a -ldl

LUAJIT_LDFLAGS     : -rdynamic




Concurrency Kit    : bundled

CK_CFLAGS          : -I$(abs_top_builddir)/third_party/concurrency_kit/include

CK_LIBS            : $(abs_top_builddir)/third_party/concurrency_kit/lib/libck.a

configure flags    : 

===============================================================================

9)编译并安装。

make
make install

10)查询sysbench版本号。

sysbench --version

回显信息如下,则表示sysbench安装成功。

sysbench 1.0.16

测试已完成编译的软件

以MariaDB数据库为例。

1)登录MariaDB数据库。

mysql -usysuser -p123456 -hlocalhost -P3306

l  “sysuser”为4.3 编译源代码中创建的帐户。

l  “123456”为4.3 编译源代码中设置的“sysuser”帐户的登录密码。

回显信息如下,表示登录成功:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2212
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

2)创建sysbench测试使用的数据库“dbtest”。

create database dbtest;
show databases;

回显信息中含有数据库“dbtest”,则表示“dbtest”数据库创建成功,如加粗部分所示。

MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| dbtest             |

| kbe                |

| mysql              |

| performance_schema |

+--------------------+

5 rows in set (0.00 sec)

MariaDB [(none)]>

3)使用sysbench准备测试数据。

sysbench /usr/local/share/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-host=localhost --mysql-port=3306 --mysql-user=sysuser --mysql-password=123456 --mysql-db=dbtest --oltp-tables-count=1 --oltp-table-size=1000 --oltp-dist-type=uniform --oltp-read-only=off --oltp-test-mode=complex --rand-init=on --db-driver=mysql --report-interval=10 --threads=1000 --time=120 prepare

回显信息如下:

sysbench 1.0.16 (using bundled LuaJIT 2.1.0-beta2)
Creating table 'sbtest1'...
Inserting 1000 records into 'sbtest1'
Creating secondary indexes on 'sbtest1'...

4)登录数据库,查看“dbtest”数据库中是否新建表“sbtest1”且表记录数为1000条。

mysql -usysuser -p123456 -hlocalhost -P3306
use dbtest;
show tables;
回显信息如下:
MariaDB [dbtest]> show tables;

+------------------+

| Tables_in_dbtest |

+------------------+

| sbtest1          |

+------------------+

1 row in set (0.01 sec)




MariaDB [dbtest]>

5)查询表“sbtest1”中的记录数,如下为1000,则表示sysbench安装成功且可正常使用。

select count(*) from sbtest1;

回显信息如下:

MariaDB [dbtest]> select count(*) from sbtest1;

+----------+

| count(*) |

+----------+

|     1000 |

+----------+

1 row in set (0.00 sec)

MariaDB [dbtest]>

上一篇: KBEngine如何配置

下一篇: nfs是什么

猜你喜欢