workbench拓扑优化参数设置(超详细的sysbench安装部署教程)

概述

sysbench是基于LuaJIT的可以脚本化多线程基准。 它是一个模块化的、跨平台、多线程基准测试工具,最常用于数据库基准测试,但也可以用于创建不涉及数据库服务器的任意复杂工作负载。

sysbench附带了以下捆绑的基准测试:

  • oltp_*.lua: 一个像数据库基准的oltp集合
  • fileio: 文件系统级基准
  • cpu: 一个简单的CPU基准
  • memory: 内存访问基准
  • threads: 基于线程的调度程序基准
  • mutex: POSIX互斥基准

目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。

环境如下:

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(1)


一、下载

sysbench的源码可以在github上面下载的到,sysbench的主页

https://github.com/akopytov/sysbench

官网地址:https://dev.mysql.com/downloads/benchmarks.html

--通过github官网下载 #wget https://codeload.github.com/akopytov/sysbench/zip/master --通过mysql官网下载 #wget https://downloads.mysql.com/source/sysbench-0.4.12.14.tar.gz

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(2)

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(3)


二、安装依赖

yum -y install gcc gcc-c make automake libtool pkgconfig libaio-devel

因为在我的机器上已经安装上了mysql相关的所有包,如果你机器上还没有安装过这些,那你还要安装上mysql的开发包。


三、安装sysbench

1、解压安装

# tar -xvf sysbench-0.4.12.14.tar.gz

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(4)

2、编译安装

如果需要测试PostgreSQL、Oracle,则在configure时需要加上 --with-oracle 或者 --with-pgsql 参数

--如果之前安装mysql是编译安装在/usr/local/,可以这样写: #./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/local/mysql/include \ --with-mysql-libs=/usr/local/mysql/lib && make && make install --如果是yum不需要指定 #./configure --prefix=/usr/local/sysbench/ --with-mysql && make && make install --如果是rpm安装需要指定 # rpm -ivh mysql-community-devel-5.7.26-1.el7.x86_64.rpm #./configure --prefix=/usr/local/sysbench/ --with-mysql --with-mysql-includes=/usr/include/mysql -with-mysql-libs=/usr/lib64/mysql\ && make && make install

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(5)


四、测试

# /usr/local/sysbench/bin/sysbench --version

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(6)

到目前为止sysbench的安装就算是完成了!


五、开始测试

编译成功之后,就要开始测试各种性能了,测试的方法在官网网站上也提到一些,但涉及到 OLTP 测试的部分却不够准确。

1、cpu性能测试

如果多台服务器进行CPU性能对比,当线程和素数个数一定时:相同时间,比较event;相同event,比较时间;时间和event都相同,比较stddev(标准差)。

--cpu测试主要是进行素数的加法运算,这里指定了最大的素数为 20000,可以根据机器cpu的性能来适当调整数值。 sysbench --test=cpu --cpu-max-prime=20000 run

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(7)

2、线程测试

sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(8)

3、磁盘IO性能测试

--指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。 --一定要到测试的磁盘目录下执行,否则可能测试系统盘了 sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup

3.1、准备数据

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(9)

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(10)

3.2、测试

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(11)

4、内存测试

--指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K。 sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run

这里就省略了

5、OLTP测试

--指定了本次测试的表存储引擎类型为innodb和指定了表最大记录数为 1000000 --测试 OLTP 时,可以自己先创建数据库sbtest,或者自己用参数 --mysql-db 来指定其他数据库。 sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 --mysql-db=lcpdb\ --mysql-socket=/var/lib/mysql/mysql.sock --mysql-user=root --mysql-host=localhost \ --mysql-password=CUv2or1[5oMf08px prepare

这里就省略了。。。


篇幅有限,这块内容就介绍到这了,后面再单独介绍下怎么在生产环境用sysbench来测试mysql数据库,感兴趣的朋友可以关注一下~

workbench拓扑优化参数设置(超详细的sysbench安装部署教程)(12)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页