热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mysqlsysbench教程_mysqlsysbench使用方法!

mysql压力测试之sysbench1.sysbench的安装下载下来之后会有一个sysbench-0.4.10.tar.gz压缩包.解压后生成目录sysbench-0.4.10进

mysql 压力测试之sysbench

1.sysbench 的安装

下载下来之后会有一个sysbench-0.4.10.tar.gz  压缩包.

解压后生成目录 sysbench-0.4.10

进入sysbench-0.4.10 这个目录

[root@linuxvm01 home]# cd  /home/sysbench-0.4.10

编译安装sysbench

[root@linuxvm01 sysbench-0.4.10]# ./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib  && make && make install

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

TIP:

with-mysql-includes 指定上面确认的mysql-devel的路径,

with-mysql-libs 是安装mysql的路径,

#  当时这两个参数没弄明白编译安装的时候一直报错,

安装过程中出现的错误处理

(1).drv_mysql.c:32:19: error: mysql.h: No such file or directory

参数 with-mysql-includes ,with-mysql-libs 不准确

(2)./usr/bin/ld: cannot find -lmysqlclient_r

collect2: ld returned 1 exit status

make[2]: *** [sysbench] Error 1

make[2]: Leaving directory `/home/sysbench-0.4.10/sysbench'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/sysbench-0.4.10/sysbench'

make: *** [all-recursive] Error 1

安装下:rpm -ivh  MySQL-shared-5.6.22-1.el6.x86_64.rpm

2.sysbench 的使用

sysbench 可以测试的项目有

cpu的性能测试

内存性能测试

磁盘io吸能测试

oltp系统测试

最重要的还是 磁盘io吸能测试 和oltp 测试。

这里重点讲解下磁盘io吸能测试 和oltp 测试。

=====磁盘io性能测试 ==============

IO测试分为三个阶段, 文件生成,执行测试,清理测试文件

首先生成需要测试的文件

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 prepare

[root@linuxvm01 ~]# sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 prepare

sysbench 0.4.10:  multi-threaded system evaluation benchmark

16 files, 1966080Kb each, 30720Mb total

Creating files for the test...

然后执行测试

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 run

[root@linuxvm01 ~]# sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 run

sysbench 0.4.10:  multi-threaded system evaluation benchmark

Running the test with following options:

Number of threads: 2

Extra file open flags: 0

16 files, 1.875Gb each

30Gb total file size

Block size 16Kb

Number of random requests for random IO: 10000

Read/Write ratio for combined random IO test: 2.00

Periodic FSYNC enabled, calling fsync() each 100 requests.

Calling fsync() at the end of test, Enabled.

Using synchronous I/O mode

Doing random r/w test

Threads started!

Done.

Operations performed:  6667 Read, 3333 Write, 1600 Other = 11600 Total

Read 104.17Mb  Written 52.078Mb  Total transferred 156.25Mb  (2.0936Mb/sec)

133.99 Requests/sec executed

Test execution summary:

total time:                          74.6328s

total number of events:              10000

total time taken by event execution: 142.3936

per-request statistics:

min:                                  0.01ms

avg:                                 14.24ms

max:                                305.56ms

approx.  95 percentile:              37.48ms

Threads fairness:

events (avg/stddev):           5000.0000/12.00

execution time (avg/stddev):   71.1968/0.09

这个里面最重要的需要关注的吞吐量(2.0936Mb/sec) ,

每秒请求数( 133.99 Requests/sec executed)

还有95%的请求耗时( approx.  95 percentile:              37.48ms)

最后清理测试文件

sysbench --test=fileio --num-threads=2 --file-num=16 --file-total-size=30G --file-test-mode=rndrw --file-rw-ratio=2 cleanup

=====OLTP 系统性能测试 ==============

otlp性能测试分为两阶段.

1.准备阶段

2.执行阶段

--准备阶段

[root@linuxvm01 ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=test  --mysql-user=root  --mysql-password=anyu@2014 prepare

sysbench 0.4.10:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

Creating table 'sbtest'...

Creating 4000000 records in table 'sbtest'...

-- 执行阶段

[root@linuxvm01 ~]# sysbench --num-threads=8 --max-requests=4000000 --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=test --mysql-user=root  --mysql-password=anyu@2014 run

sysbench 0.4.10:  multi-threaded system evaluation benchmark

No DB drivers specified, using mysql

WARNING: Preparing of "BEGIN" is unsupported, using emulation

(last message repeated 7 times)

Running the test with following options:

Number of threads: 8

Doing OLTP test.

Running mixed OLTP test

Using Special distribution (12 iterations,  1 pct of values are returned in 75 pct cases)

Using "BEGIN" for starting transactions

Using auto_inc on the id column

Maximum number of requests for OLTP test is limited to 4000000

Threads started!

Done.

OLTP test statistics:

queries performed:

read:                            56000000

write:                           20000000

other:                           8000000

total:                           84000000

transactions:                        4000000 (125.37 per sec.)

deadlocks:                           0      (0.00 per sec.)

read/write requests:                 76000000 (2381.99 per sec.)

other operations:                    8000000 (250.74 per sec.)

Test execution summary:

total time:                          31906.1255s

total number of events:              4000000

total time taken by event execution: 255224.4528

per-request statistics:

min:                                  2.69ms

avg:                                 63.81ms

max:                               5557.09ms

approx.  95 percentile:             178.90ms

Threads fairness:

events (avg/stddev):           500000.0000/2282.56

execution time (avg/stddev):   31903.0566/0.09

这段输出中包含了

QPS(transactions:                        4000000 (125.37 per sec.)) ,

tps( transactions:                        4000000 (125.37 per sec.))

百分之95的请求耗时在178.90ms : approx.  95 percentile:             178.90ms

参考链接:



推荐阅读
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
author-avatar
永和邮政
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有