MySQL性能压力基准测试工具sysbench的使用简介

吾爱主题 阅读:198 2024-04-02 08:01:39 评论:0

1、sysbench介绍

 

这里介绍一款mysql数据库的压力测试软件sysbench,用它来进行基准测试。

sysbench 是一个开源的、模块化的、跨平台的多线程性能测试工具,

可以用来进行cpu、内存、磁盘i/o、线程、数据库的性能测试。

目前支持的数据库有mysql、oracle 和postgresql。

#项目下载地址:

https://launchpad.net/sysbench
http://github.com/akopytov/sysbench

该基准套件的想法是快速获得有关系统性能的印象,而无需设置复杂的数据库基准,甚至不需要安装数据库。
当前功能允许测试以下系统参数:

  • #cpu性能
  • file i/o performance #文件io性能,磁盘io性能
  • scheduler performance #调度程序性能
  • memory allocation and transfer speed #内存分配和传输速度
  • posix threads implementation performance #posix线程实现性能
  • database server performance (oltp benchmark) #数据库服务器性能(oltp基准)

sysbench的oltp主要用于评估测试各种不同系统参数下的数据库负载情况。
相比0.4版本,后续的版本oltp测试主要结合了lua脚本,不需要修改源码,通过自定义lua脚本就可以实现不同业务类型的测试。 

sysbench的缺点:
模拟的表结构太简单,不像tpcc-mysql那样完整的事务系统,但对于mysql性能压测对比还是很有用的。

2、sysbench安装过程

 

#安装相关依赖

?
1 2 mount /dev/cdrom /mnt yum -y install make automake libtool pkgconfig libaio-devel libtool

#安装过程开始

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #客户端lib包做个链接 ln -sf /mysql/app/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20 #解压安装 cd /softtar zxvf sysbench-1.0.15.tar.gzcd sysbench-1.0.15./autogen.sh ./configure --prefix=/mysql/app/sysbench --with-mysql=/mysql/app/mysql --with-mysql-includes=/mysql/app/mysql/include/ # --with-mysql-libs=/usr/lib/ make && make install #配置环境变量 vi ~/.bash_profile path=$path:/mysql/app/sysbench/bin:$home/bin source ~/.bash_profile sysbench --version #如果提示报错 sysbench: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: no such file or directory   #接着在/etc/ld.so.cnf中加入/usr/lib这一行 [root@tse01 local ]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/lib/ #执行ldconfig -v更新下配置就可以了 [root@tse01 local ]# /sbin/ldconfig -v

#提示说明:

如果你在非标准位置安装的mysql头文件和库(没有 mysql_config可以在找到path),

你可以明确指定--with-mysql-includes和--with-mysql-libs选项参数,如上面。

要在没有mysql支持的情况下编译sysbench,请使用--without-mysql。
如果没有可用的数据库驱动程序,则与数据库相关的脚本将不起作用,但其他基准测试将起作用。

#常规命令行选项

下表列出了受支持的常用选项,它们的描述和默认值:

 

选项 描述 默认值
--threads 要创建的工作线程总数 1个
--events 要求总数的限制。0(默认值)表示没有限制 0
--time 总执行时间限制(以秒为单位)。0表示没有限制 10
--warmup-time 在启用统计信息的情况下运行实际基准测试之前,在禁用统计信息的情况下执行事件数秒钟。当您要从统计信息中排除基准测试运行的初始期间时,此功能很有用。在许多基准测试中,初始阶段并不具有代表性,因为cpu /数据库/页面和其他缓存需要一些时间进行预热 0
--rate 平均交易率。该数字指定所有线程平均每秒应执行多少事件(事务)。0(默认)表示无限制速率,即事件以尽可能快的速度执行 0
--thread-init-timeout 辅助线程初始化的等待时间(以秒为单位) 30
--thread-stack-size 每个线程的堆栈大小 32k
--report-interval 定期以指定的时间间隔(以秒为单位)报告中间统计信息。请注意,此选项生成的统计信息是按时间间隔而不是累积的。0禁用中间报告 0
--debug 打印更多调试信息 离开
--validate 尽可能验证测试结果 离开
--help 根据常规语法或指定的测试打印帮助,然后退出 离开
--verbosity 详细级别(0-仅关键消息,5-调试) 4
--percentile sysbench测量所有已处理请求的执行时间,以显示统计信息,例如最小,平均和最大执行时间。对于大多数基准测试,了解与某个百分位数相匹配的请求执行时间值也很有用(例如,95%百分位数意味着我们应该丢弃最长请求的5%,并从其余请求中选择最大值)。此选项允许指定要计算的查询执行时间的百分等级 95
--luajit-cmd 执行luajit控制命令。此选项等效于luajit -j。有关更多信息,请参见 luajit文档

 

请注意,可以通过附加相应的乘法后缀(k表示千字节,m表示兆字节,g表示千兆字节,t表示兆字节)
来指定所有大小选项(--thread-stack-size如此表中所示)的数值。

#sysbench使用[command]常用的有:

1) prepare准备测试,生成数据
2) run执行测试
3) cleanup清理数据
4) help
5) version

以上就是mysql性能压力基准测试工具sysbench的使用简介的详细内容,更多关于mysql sysbench的使用的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/Sungeek/p/14669280.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容