数据库工具sysbench安装教程和性能测试例子

 更新时间:2014年07月17日 09:27:35   投稿:junjie  
这篇文章主要介绍了数据库工具sysbench安装教程和性能测试例子,sysbench的一个简明入门教程,包含编译安装过程和主要测试数据,需要的朋友可以参考下

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。关于这个项目的详细介绍请看:http://sysbench.sourceforge.net

它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。

一、安装

首先,在 http://sourceforge.net/projects/sysbench 下载源码包。
接下来,按照以下步骤安装:

复制代码 代码如下:

tar zxf sysbench-0.4.8.tar.gz
cd sysbench-0.4.8
./configure && make && make install
strip /usr/local/bin/sysbench

以上方法适用于 MySQL 安装在标准默认目录下的情况,如果 MySQL 并不是安装在标准目录下的话,那么就需要自己指定 MySQL 的路径了。比如我的 MySQL 喜欢自己安装在 /usr/local/mysql 下,则按照以下方法编译:

复制代码 代码如下:

/configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install

当然了,用上面的参数编译的话,就要确保你的 MySQL lib目录下有对应的 so 文件,如果没有,可以自己下载 devel 或者 share 包来安装。

另外,如果想要让 sysbench 支持 pgsql/oracle 的话,就需要在编译的时候加上参数
--with-pgsql
或者
--with-oracle
这2个参数默认是关闭的,只有 MySQL 是默认支持的。

二、开始测试

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

1、cpu性能测试

复制代码 代码如下:
sysbench --test=cpu --cpu-max-prime=20000 run

cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。

2、线程测试

复制代码 代码如下:

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

3、磁盘IO性能测试
复制代码 代码如下:

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

上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。

4、内存测试

复制代码 代码如下:
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run

上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K。

5、OLTP测试

复制代码 代码如下:

sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 \
--mysql-socket=/tmp/mysql.sock --mysql-user=test --mysql-host=localhost \
--mysql-password=test prepare

上述参数指定了本次测试的表存储引擎类型为 myisam,这里需要注意的是,官方网站上的参数有一处有误,即 --mysql-table-engine,官方网站上写的是 --mysql-table-type,这个应该是没有及时更新导致的。另外,指定了表最大记录数为 1000000,其他参数就很好理解了,主要是指定登录方式。测试 OLTP 时,可以自己先创建数据库 sbtest,或者自己用参数 --mysql-db 来指定其他数据库。--mysql-table-engine 还可以指定为 innodb 等 MySQL 支持的表存储引擎类型。

好了,主要的就是这些了,想要了解更多信息就访问 sysbench 项目的主页吧。

相关文章

  • mysql 获取当天发布的信息的语句

    mysql 获取当天发布的信息的语句

    mysql 获取当天发布的信息的实现语句,需要的朋友可以参考下。
    2010-03-03
  • mysql中json类型字段的基本用法实例

    mysql中json类型字段的基本用法实例

    大家应该都知道mysql中的字段可以使用json的格式来进行存储,下面这篇文章主要给大家介绍了关于mysql中json类型字段的基本用法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 详解MySQL分组排序求Top N

    详解MySQL分组排序求Top N

    这篇文章主要介绍了详解MySQL分组排序求Top N的相关资料,需要的朋友可以参考下
    2017-07-07
  • 分享20个数据库设计的最佳实践

    分享20个数据库设计的最佳实践

    下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解了解吧
    2014-06-06
  • MySQL数据误删或者误更新如何恢复详细步骤(一看就会)

    MySQL数据误删或者误更新如何恢复详细步骤(一看就会)

    本文主要为开发人员提供在测试环境中恢复近期误操作的少量数据的方法,首先介绍了如何下载并安装MyFlash工具,然后详细讲解了如何利用该工具和MySQL的binlog日志来恢复误删或误更新的数据,介绍的非常详细,需要的朋友可以参考下
    2024-10-10
  • mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法

    mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法

    今天在配置服务器的时候,发现mysql的一个错误提示在 本地计算机 无法启动 MySQL 服务。错误 1067: 进程意外终止,其实原因很多这个不是导致进程意外终止的最终原因,但可以解决
    2016-04-04
  • mysql 5.7.21解压版安装配置方法图文教程(win10)

    mysql 5.7.21解压版安装配置方法图文教程(win10)

    这篇文章主要为大家详细介绍了win10下mysql 5.7.21解压版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL

    Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL

    本文主要介绍了Mysql外键设置中的CASCADE、NO ACTION、RESTRICT、SET NULL,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • MySQL数据库的shell脚本自动备份

    MySQL数据库的shell脚本自动备份

    这篇文章主要介绍了MySQL数据库的shell脚本自动备份的相关资料,网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行。我们需要一种安全的,每天自动备份的方法需要的朋友可以参考下
    2017-03-03
  • explain执行计划需要关注的几个关键字段详细解释

    explain执行计划需要关注的几个关键字段详细解释

    这篇文章主要介绍了explain执行计划需要关注的几个关键字段的相关资料,EXPLAIN是MySQL性能优化的关键工具,它提供了查询执行计划的详细信息,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-02-02

最新评论