华为云计算 云知识 sysbench如何安装
sysbench如何安装

【热门云产品免费试用活动】| 【最新活动】| 【企业应用优惠】

免费试用专区

简介

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]>

更多相关文章:

1. 域名 建站专场

2. 商标 特惠专场

4. SSL证书专场

5. 全球云服务专场

8. 图片文字识别 OCR

9. 网站建设 自助 建站

10. 企业应用专场

12. 域名注册 申请

13. 网站模板 自助建站

14. 云知识 推荐

15. 云专题 清单

16. 弹性 云服务器ECS

17. 内容分发网络 CDN

18. 云硬盘 EVS

19. 对象存储服务

上一篇:删除桶标签DeleteBucketTagging 下一篇:数据复制服务DRS支持断点续传吗