MySQL/Mariadb基准测试工具-sysbench使用2

本文是关于sysbench在MariaDB上的使用详解,涵盖了从测试环境的介绍到理论准备,再到脚本编写和执行的全过程。通过实例展示了如何进行数据库压力测试,包括prepare、run和cleanup阶段,并提供了相关参数的解释。测试环境中,使用的是CentOS 7.2上的MariaDB 10.2.7,配合sysbench 1.0.9进行性能评估。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇学习了sysbench的用途,并且使用sysbench对测试虚机的CPU、线程、互斥锁、内存、磁盘IO进行了测试,虽然囫囵吞枣般的进行了测试,还是有些收获,本篇开始对Mariadb进行测试。

sysbench使用1补充

1)Fileio 测试脚本
以下来自lpfuture写的sysbench 压力测试工具(http://www.cnblogs.com/lpfuture/p/5740840.html
引用开始

如果需要测试seqwr(顺序写), seqrewr(顺序读写), seqrd(顺序读), rndrd(随机读), rndwr(随机写), rndrw(随机读写)等6种模式,并且还可能需要测试不同的线程和不同的文件块下磁盘的性能表现,这时,可以使用如下脚本达到测试目的。
测试脚本内容如下:

#!/bin/bash
#==============================================================================
#
#          FILE: sysbench_auto.sh
#
#         USAGE: ./sysbench_auto.sh
#
#   DESCRIPTION: This file is sysbench_auto.sh 
#        AUTHOR: Kevin Lu (kevin), kevin@gmail.com
#  ORGANIZATION: cmcc
#       CREATED: 02/26/2014 17:35
#      REVISION: v1.0.1
#==============================================================================

for size in {
  
  8G,64G}
do
for mode in {seqwr,seqrewr,seqrd,rndrd,rndwr,rndrw}
do
for blksize in {
  
  4096,16384}
do
sysbench --test=fileio --file-num=64 --file-total-size=$size prepare
for threads in {
  
  1,4,8,16,32}
do
echo "=============testing $blksize in $threads threads"
echo PARAS $size $mode $threads $blksize > sysbench-size-$size-mode-$mode-threads-$threads-blksz-$blksize
for i in {
  
  1,2,3}
do
sysbench --test=fileio --file-total-size=$size --file-test-mode=$mode --max-time=180 --max-requests=100000 --num-threads=$threads --
init-rng=on --file-num=64 --file-extra-flags=direct --file-fsync-freq=0 --file-block-size=$blksize run|tee -a sysbench-size-$size-mo
de-$mode-threads-$threads-blksz-$blksize 2>&1
done
done
sysbench --test=fileio --file-total-size=$size cleanup
done
done
done

脚本运行后,在当前目录下会生成如下文件:
这里写图片描述

引用结束。

0.测试环境

  • 宿主机

    • OS:Win 10 Enterprise LTSB
    • CPU:Intel i5-4200U @ 1.6GHz 2.30GHz
    • 内存:12G
    • 硬盘:SSD+WD Black
  • 虚机

    • OS:CentOS 7.2
    • CPU:2v
    • 内存:2G
    • io调度模式:deadline(数据库适合)
    • 磁盘文件格式:xfs (数据库适合)
    • sysbench:1.0.9
    • mariadb 10.2.7

1.理论准备

数据库测试和磁盘IO测试一样,也要经过prepare、run和cleanup三个阶段。区别在于一个对象是数据库,一个对象是文件。

1.0.X版本,sysbench舍弃了–test参数,0.5版本如果希望测试数据库信息,需要使用–test=oltp参数,在1.0版本后不再使用oltp,转为使用oltp*.lua脚本。lua脚本存放目录通过本节附录查找。

sysbench命令格式:
sysbench [options]… [testname] [command]

举例
sysbench oltp_read_write.lua –mysql-host=127.0.0.1 –mysql-port=3306 –mysql-db=test –mysql-user=root –mysql-password=root –table_size=5000000 –tables=10 –threads=300 –time=60 –report-interval=10
参数说明,更详细说明见上一篇 MySQL/Mariadb基准测试工具-sysbench使用1
|:——————— |:—————————–|
|–mysql-host| IP|
|–mysql-port| 端口号|
|–mysql-db| 希望链接的数据库|
|–mysql-user| 用户名|
|–mysql-password| 密码|
|–table_size| 每张表初始化的数据数量|
|–tables |初始化表的数量|
|–threads| 启动的线程|
|–time| 运行时间|
|–report-interval| 运行期间日志,单位为秒|

prepare用于准备测试需要的数据,准备完后执行run来测试,测试完成后不要忘记执行cleanup来清除测试数据。

附:
查找
存放lua脚本目录方法。

[root@localhost /]# rpm -qa | grep sysbench #查找安装包
sysbench-1.0.9-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值