sysbench对mysql压力测验ITeye - 娱乐之横扫全球

sysbench对mysql压力测验ITeye

2019年04月17日08时57分27秒 | 作者: 博耘 | 标签: 测验,线程,基准 | 浏览: 1714

要点来说MySQL的基准测验怎么进行,也有很多种东西来供咱们挑选,比方mysqlslap、sysbench、Super Smack等,其间mysqlslap的运用MySQL官网给出了介绍,Super Smack是服务器压力测验强有力的东西,那么sysbench就是咱们进行MySQL基准测验的很漂亮的东西了。

sysbench是一款开源的多线程功能测验东西,能够履行CPU/内存/线程/IO/数据库等方面的功能测验。数据库现在支撑MySQL/Oracle/PostgreSQL;

Linux 各大发行版经过自带装置东西直接装置即可,RHEL/CentOS 的装置指令如下:

sudo yum -y install sysbench

它首要包含以下几种方法的测验:

1、cpu功能
2、磁盘io功能
3、调度程序功能
4、内存分配及传输速度
5、POSIX线程功能
6、数据库功能(OLTP基准测验)

sysbench的数据库OLTP测验支撑MySQL、PostgreSQL、Oracle,现在首要用于Linux操作系统,开源社区现已将sysbench移植到了Windows,并支撑SQL Server的基准测验。

能够经过 sysbench help 检查 sysbench 的可用指令、选项及內建测验类型的协助信息,不同测验类型

测验 CPU

CPU 测验时,会核算素数(对这个数字除以 2 到这个数字平方根之间的一切数字来验证素数)直到某个指定值所需求的时刻。单纯的测验一组十分有限 CPU 硬件功能。

CPU 基准测验时能够指定线程数量和素数上限。

sysbench cpu-max-prime=10000 threads=2 cpu run
测验 fileio

运用 fileio 时,需求创立一组测验文件,测验文件需求大于可用内存的巨细,防止文件缓存在内存中影响成果。测验流程为:预备测验文件-》测验-》收回测验文件,指令如下

# sysbench file-total-size=28G fileio prepare 
# sysbench file-total-size=28G file-test-mode=rndrw time=300 max-requests=0 fileio run 
# sysbench file-total-size=28G fileio cleanup

关于 I/O 基准测验,能够经过 file-test-mode 通知 sysbench 要运转的作业负载的类型,可用类型有:

seqwr:次序写入 seqrewr:次序重写 seqrd:次序读取 rndrd:随机读取 rndwr:随机写入 rndrw:随机读取/写入 测验 memory
当在 sysbench 中进行内存测验时,会分配一个内存缓冲区并在此履行读写操作,每次操作都会读完或写满缓冲区。然后重复此操作直到到达指定巨细(memory-total-size)。能够供给多个线程(threads),不同的缓冲区巨细(memory-block-size)和恳求类型(读或写,次序或随机)。
sysbench threads=4 memory-block-size=8k memory-total-size=4G memory run
测验 threads
测验 threads 时,每个作业线程将被分配一个 mutex(一种锁)。每次履行时,每个线程将循环若干次(经过 thread-yields 的数量设置),循环时这个线程会确定,在再次履行时解锁。
经过调整各种参数,能够模仿具有单个或多个锁的高并发线程下的状况。 协助信息:
sysbench threads help
 运转测验
sysbench thread-yields=2000 thread-locks=8 threads run
测验 mutex
测验 mutex 时,sysbench 将为每个线程运转一个恳求。这个恳求首要会对 CPU 施加一些压力(运用一个简略的增量循环,经过 mutex-loops 参数设置),然后随机运用一个 mutex(锁),递加一个全局变量并再次开释锁。这个进程依据锁的个数(mutex-locks)屡次重复。随机 mutex 取自巨细为 mutex-num 的参数池。
sysbench mutex run
OLTP 基准测验
OLTP 基准测验模仿了一个简略的事务处理系统的作业负载。但是最新版别的 sysbench 把 OLTP 这个从前的內建测验类型移除了,假如要用,需求在指令中指定测验类型的方位用 /usr/share/sysbench/oltp_read_only.lua 脚本替代测验类型。
流程:指定数据库-》建表并生成数据-》运转测验-》整理测验表。
首要生成表,留意替换指令中的数据库暗码和 MySQL 套接字,假如 MySQL 装置在默许方位,能够去掉 mysql-socket 选项:
sysbench db-driver=mysql mysql-user=root mysql-password= pwd \ 
mysql-socket= mysql.sock path mysql-db=foo range_size=100 \
table_size=10000 tables=2 threads=2 events=0 time=60 \ 
rand-type=uniform /usr/share/sysbench/oltp_read_only.lua prepare
 运转测验,指定了 2 个并发线程
sysbench db-driver=mysql mysql-user=root mysql-password= pwd \ 
mysql-socket= mysql.sock path mysql-db=foo range_size=100 \
table_size=10000 tables=2 threads=2 events=0 time=60 \ 
rand-type=uniform /usr/share/sysbench/oltp_read_only.lua run
 整理测验时生成的测验表:
sysbench db-driver=mysql mysql-user=root mysql-password= pwd \ 
mysql-socket= mysql.sock path mysql-db=foo range_size=100 \ 
table_size=10000 tables=2 threads=2 events=0 time=60 \ 
rand-type=uniform /usr/share/sysbench/oltp_read_only.lua cleanup
 

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表娱乐之横扫全球立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章

阅读排行

  • 1

    sysbench对mysql压力测验ITeye

    测验,线程,基准
  • 2

    Sql Server数据库跨库查询ITeye

    数据库,树立,链接
  • 3

    PowerDesigner 15 设置identityITeye

    规划,数据库,编码
  • 4

    [MySQL]ITeye

    一个,或许,这个
  • 5

    hdfs常用命令ITeye

    文件,目录,途径
  • 6

    orace11gR2 启用日志归档ITeye

    备份,数据库,需求
  • 7

    Mysql高可用架构ITeye

    可用,架构,计划
  • 8

    hbase 全体介绍ITeye

    存储,经过,文章
  • 9

    db2move 指令无法导出表ITeye

    导出,数据,字符
  • 10