1、sysbench介绍

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

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

可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测试。

目前支持的数据库有MySQL、Oracle 和PostgreSQL。

#项目下载地址:
 
该基准套件的想法是快速获得有关系统性能的印象,而无需设置复杂的数据库基准,甚至不需要安装数据库。
当前功能允许测试以下系统参数:
  • #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安装过程

#安装相关依赖
mount /dev/cdrom /mnt
yum -y install make automake libtool pkgconfig libaio-devel libtool
#安装过程开始
#客户端lib包做个链接
ln -sf /mysql/app/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
#解压安装
cd /soft
tar zxvf sysbench-1.0.15.tar.gz
cd 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的更多相关文章

  1. [AapacheBench工具]web性能压力测试工具的应用与实践

    背景:网站性能压力测试是性能调优过程中必不可少的一环.服务器负载太大而影响程序效率是很常见的事情,一个网站到底能够承受多大的用户访问量经常是我们最关心的问题.因此,只有让服务器处在高压情况下才能真正体 ...

  2. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探

    Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...

  3. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论   一.http_load 程序 ...

  4. Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner

    回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner

  5. 三种web性能压力测试工具

    三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...

  6. (转)MySQL自带的性能压力测试工具mysqlslap详解

    mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...

  7. MySQL基准测试工具--sysbench

    我们需要知道的是sysbench并不是一个压力测试工具,是一个基准测试工具.linux自带的版本比较低,我们需要自己安装sysbench. [root@test2 ~]# sysbench --ver ...

  8. MySQL自带的性能压力测试工具mysqlslap

    mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具. 通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个 ...

  9. 数据库相关文章转载(2) MySQL自带的性能压力测试工具mysqlslap详解

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...

随机推荐

  1. NGK数字钱包的特点是什么?NGK钱包的优点和缺点是什么?

    说起区块链数字资产,那就离不开谈到数字钱包.数字钱包不仅有资产管理的功能,还可以进行资产理财.资产交易,甚至能为公链DAPP导流. 对于NGK公链而言,其数字钱包已然成为了解NGK公链的基础条件.NG ...

  2. 关于MacBook Air/Pro 外接显示器时,显示器黑屏无反应的解决方法,顺便求助M1芯片的mac 外接显示器如何开启Hidpi

    显示器黑屏,无反应,频繁闪烁的原因 先说结论,直接换type-c转DP的显示器连接线吧,如果显示器不支持dp接口,那自求多福吧. 事情是这样的,m1版本的macbook air 刚发布就马上入手了一台 ...

  3. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

  4. Tawk.to工具使用攻略--如何让访客通过tawk.to联系时先填写邮箱、联系方式等信息

    Tawk.to工具使用攻略--如何让访客通过tawk.to联系时先填写邮箱.联系方式等信息 您在使用tawk.to的时候,是否遇到当访客联系您时,您未能及时查看到tawk.to的消息,后续想要再联系访 ...

  5. ADT基础(三)—— HashMap

    ADT基础(三)-- HashMap 1 哈希表 哈希表(hash table),也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维 ...

  6. 大话Spark(6)-源码之SparkContext原理剖析

    SparkContext是整个spark程序通往集群的唯一通道,他是程序的起点,也是程序的终点. 我们的每一个spark个程序都需要先创建SparkContext,接着调用SparkContext的方 ...

  7. 由于makefile编译所有子目录中 sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 的解释

    这个语句分为好几层,我们一层一层来看 1. sed 's,/($*/)/.o[ :],/1.o $@ : ,g' <$@ > $@ 首先看加粗这一层,$@表示目标参数中的.d文件, '&l ...

  8. 腾讯云发布存储一体机TStor,打通全面上云“最后一公里”

    随着云计算.大数据.人工智能等技术的发展,各行各业加速数据化转型,数据容量以前所未有的速度增长,本地存储难以适应数据的指数式增长. 另一方面,公有云因其易扩展.低成本.安全稳定的特点,逐渐被企业广泛应 ...

  9. gpfdist原理解析

    gpfdist原理解析 前言:gpfdist作为批量向postgresql写入数据的工具,了解其内部原理有助于正确使用以及提供更合适的数据同步方案.文章先简要介绍gpfdist的整体流程,然后针对重要 ...

  10. Fcitx5 上线 FreeBSD

    Fcitx5 上线 FreeBSD textproc/fcitx5textproc/fcitx5-qttextproc/fcitx5-gtktextproc/fcitx5-configtoolchin ...