转自:MySql性能测试工具-sysbench — 没那么简单的博客

虽然mysql默认的有mysqlslap这个性能测试工具,但和sysbench比较来说,还逊色不少。

  1. 下载安装包 https://github.com/akopytov/sysbench
shell> wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"
shell> unzip sysbench-1.0.zip
shell> cd sysbench-1.0
  1. 安装依赖库
shell> yum install automake libtool -y
  1. 开始安装
shell> ./autogen.sh
shell> ./configure
#ERROR: cannot find MySQL libraries. If you want to compile with MySQL support 没找到mysql库 需要用参数指定下 --with-mysql-includes和--with-mysql-libs
shell> ./configure --with-mysql-includes=/alidata/server/mysql5.7/include/ --with-mysql-libs=/alidata/server/mysql5.7/lib/
shell> make
  1. 执行下命令:
shell> sysbench --help
#sysbench: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
#问题原因:sysbench无法找到mysql的库文件,可能是环境变量LD_LIBRARY_PATH没有设置,设置后即可解决该问题:
shell> export LD_LIBRARY_PATH=/alidata/server/mysql5.7/lib/lib
shell> sysbench --version
sysbench 1.0
  1. 创建测试数据库sbtest
shell> mysqladmin create sbtest -uroot -p
Enter password:
  1. 测试准备: 20个并发连接,20张表 每个表填充10W条数据 最大请求时间120s
#-test=tests/db/oltp.lua 表示调用 tests/db/oltp.lua 脚本进行 oltp 模式测试
#--oltp_tables_count=10 表示会生成 10 个测试表
#--oltp-table-size=100000 表示每个测试表填充数据量为 100000
#--rand-init=on 表示每个测试表都是用随机数据来填充的
#-num-threads=8 表示发起 8个并发连接
#--oltp-read-only=off 表示不要进行只读测试,也就是会采用读写混合模式测试
#--report-interval=10 表示每10秒输出一次测试进度报告
#--rand-type=uniform 表示随机类型为固定模式,其他几个可选随机模式:uniform(固定),gaussian(高斯),special(特定的),pareto(帕累托)
#--max-time=120 表示最大执行时长为 120秒
#--max-requests=0 表示总请求数为 0,因为上面已经定义了总执行时长,所以总请求数可以设定为 0;也可以只设定总请求数,不设定最大执行时长
#--percentile=99 表示设定采样比例,默认是 95%,即丢弃1%的长请求,在剩余的99%里取最大值shell> sysbench --test=oltp --oltp_tables_count=10 --oltp-table-size=100000 --mysql-user=root --mysql-password=123456 --num-threads=20 --max-time=120 --max-requests=0 --oltp-test-mode=complex prepare
sysbench 1.0:  multi-threaded system evaluation benchmarkCreating table 'sbtest1'...
Inserting 100000 records into 'sbtest1'
Creating secondary indexes on 'sbtest1'...
Creating table 'sbtest2'...
Inserting 100000 records into 'sbtest2'
Creating secondary indexes on 'sbtest2'...
Creating table 'sbtest3'...
Inserting 100000 records into 'sbtest3'
Creating secondary indexes on 'sbtest3'...
Creating table 'sbtest4'...
Inserting 100000 records into 'sbtest4'
Creating secondary indexes on 'sbtest4'...
Creating table 'sbtest5'...
Inserting 100000 records into 'sbtest5'
Creating secondary indexes on 'sbtest5'...
Creating table 'sbtest6'...
Inserting 100000 records into 'sbtest6'
Creating secondary indexes on 'sbtest6'...
Creating table 'sbtest7'...
Inserting 100000 records into 'sbtest7'
Creating secondary indexes on 'sbtest7'...
Creating table 'sbtest8'...
Inserting 100000 records into 'sbtest8'
Creating secondary indexes on 'sbtest8'...
Creating table 'sbtest9'...
Inserting 100000 records into 'sbtest9'
Creating secondary indexes on 'sbtest9'...
Creating table 'sbtest10'...
Inserting 100000 records into 'sbtest10'
Creating secondary indexes on 'sbtest10'...

7.开始测试

shell> sysbench --test=oltp --oltp_tables_count=10 --oltp-table-size=100000 --mysql-user=root --mysql-password=123456 --num-threads=20 --max-time=120 --max-requests=0 --oltp-test-mode=complex run >> /tmp/log/sysbench_oltpx_20161121.log#执行结束后查看测试报告
shell> less /tmp/log/sysbench_oltpx_20161121.log
sysbench 1.0:  multi-threaded system evaluation benchmark#报告内容如下:
Running the test with following options:
Number of threads: 20
Initializing random number generator from current timeInitializing worker threads...Threads started!OLTP test statistics:queries performed:read:                            935592 --读总数write:                           267295 --写总数other:                           133650 --其他操作(CURD之外的操作,例如COMMIT)total:                           1336537 --全部总数transactions:                        66822  (556.77 per sec.) --总事务数(每秒事务数)read/write requests:                 1202887 (10022.55 per sec.) --读写总数(每秒读写次数)other operations:                    133650 (1113.58 per sec.)  --其他操作总数(每秒其他操作次数)ignored errors:                      6      (0.05 per sec.)  --总忽略错误总数(每秒忽略错误次数)reconnects:                          0      (0.00 per sec.) --重连总数(每秒重连次数)General statistics: --常规统计total time:                          120.0180s --总耗时total number of events:              66822 --共发生多少事务数total time taken by event execution: 2399.7900s  --所有事务耗时相加(不考虑并行因素)response time:min:                                  2.76ms --最小耗时avg:                                 35.91ms --平均耗时max:                               1435.19ms --最长耗时approx.  95 percentile:              84.22ms --超过95%平均耗时Threads fairness: --并发统计events (avg/stddev):           3341.1000/37.54 --总处理事件数/标准偏差execution time (avg/stddev):   119.9895/0.02
--总执行时间/标准偏差

MySql性能测试工具-sysbench相关推荐

  1. MySQL性能测试工具sysbench的安装和使用

    sysbench是一个开源的.模块化的.跨平台的多线程性能测试工具,可以用来进行CPU.内存.磁盘I/O.线程.数据库的性能测试.目前支持的数据库有MySQL.Oracle和PostgreSQL.当前 ...

  2. Linux 性能测试工具 sysbench 的安装与简单使用

    Linux 性能测试工具 sysbench 的安装与简单使用 一 背景 sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试. sysbench 支 ...

  3. Linux 性能测试工具 sysbench 的安装与简单使用 1

    文章目录 Linux 性能测试工具 sysbench 的安装与简单使用 一 背景 二 实验环境 2.1 操作系统 2.2 其他配置 三 安装 四 简单使用过程 4.1 查看软件版本 4.2 查看系统帮 ...

  4. php mysql 性能测试工具_MySQL_Sysbench多线程性能测试工具,最近用sysbench进行了较多的性 - phpStudy...

    Sysbench多线程性能测试工具 最近用sysbench进行了较多的性能测试,也总结一下它的特点和用法和需要注意的事项.sysbench是一个多线程性能测试工具,可以进行CPU/内存/IO/数据库等 ...

  5. MySQL 常用工具sysbench/fio/tpcc等测试

    为什么要压力测试 采购新设备,评估新设备性能 开发新项目,评估数据库容量 新系统上线前,预估/模拟数据库负载 更换数据库版本,评估性能变化 关注指标  CPU %wait,%user,%sys 内存 ...

  6. mysql性能测试工具之sysbench

    sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数 下的数据库负载情况,主要测试以下几种: (1).cpu性能 (2).磁盘io性能 (3).调度程序性能 ( ...

  7. php mysql 性能测试工具_高性能MySQL–MySQL基准测试

    基准测试(benchmark)是针对系统设计的一种压力测试.基准测试有两种主要的策略:一种是针对整个系统的整体测试,另外是单独测试MySQL.这两种策略也被称为集成式(full-stack)以及单组件 ...

  8. mysql性能测试工具msyqlslap_mysqlslap工具测试mysql DB的性能

    mysqlslap的一个主要工作场景就是对数据库服务器做基准测试. 测试方法 1.测试工具:mysqlslap,mysqlslap是MySQL5.1.4之后自带的benchmark基准测试工具,该工具 ...

  9. php mysql 性能测试工具下载_MySQL压力测试工具_MySQL

    bitsCN.com MySQL压力测试工具 mysqlslap --create-schema=example --query="SELECT * FROM group_message f ...

最新文章

  1. Java发送邮件正文带表格
  2. 看看这14家科技前沿公司 原来最牛的天使投资是它
  3. GO关于gin工程关联GOPATH的说明
  4. Mongo服务器二进制文件修复,Mongodb-File-Server
  5. Qt坐标系以及自定义可移动控件
  6. Ubuntu12.04安装小记
  7. Windows环境下文件的彻底删除与恢复,推荐几个工具(整理)
  8. UbbCode用正则替换指定格式的输入实现想要的输出
  9. C语言实用算法系列之时间族函数、目录遍历
  10. hdfs如何查找指定目录是否文件_在shell中如何判断HDFS中的文件目录是否存在
  11. Web前端期末大作业--重工机械设备检测生产企业官网网页设计(HTML+CSS+JavaScript )实现
  12. inner join 和 exists 效率_19 个让 MySQL 效率提高 3 倍的 SQL 优化技巧
  13. (8)FPGA时钟设计(第2天)
  14. 人工智能实战_第八次作业_手写数学式子识别_廖盈嘉
  15. Web后端学习笔记 Flask(7)数据库
  16. Windows Server 2008 R2正式版尝鲜体验
  17. MySQL join 与where的执行顺序
  18. 2021全国研究生数学建模竞赛C题思路
  19. Gpower CMS/模板置标
  20. 在整车OTA上,为啥新能源车企反而比传统车企做的更好?

热门文章

  1. git的show-diff命令处理逻辑
  2. JavaScript将数组拼接成一个字符串
  3. 使用Kubespray部署k8s生产集群
  4. Samtec技术前沿 | Samtec助力EVSE基础设施的未来发展
  5. STM32 I2C总线从机发送接收源码下载,有图有真相!
  6. 域名解析成功依旧不能访问(西部数码)
  7. 89. 基于Notes/Domino的文档工作流系统(一)
  8. office 装个盗版不成反给win10变成盗版的问题解决方案
  9. 推荐一种便于记忆和大量管理的密码设计方式
  10. 周杰伦《依然范特西》主打歌曲《千里之外》