sysbench数据库性能测试基准

  1. 背景介绍
    我们如何判断一台数据服务器的性能呢?sysbench是一种行业基准,它通过各种指标来判断一个数据服务器的负载情况。

  2. 安装sysbench

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench
  1. 测试 CPU
    CPU 测试计算素数,直到某个指定值所需要的时间。
    CPU 基准测试时可以指定线程数量和素数上限
    sysbench cpu help可以查看帮助文档
sysbench --cpu-max-prime=1000 --threads=2 cpu run

在这里插入图片描述
4. 测试内存
内存测试时,会分配一个内存缓冲区并在此执行读写操作,每次操作都会读完或写满缓冲区。然后重复此操作直到达到指定大小(–memory-total-size)。可以提供线程数(–threads),不同的缓冲区大小(–memory-block-size)和请求类型(读或写,顺序或随机),sysbench memory help可以查看帮助文档

sysbench --threads=4  --memory-block-size=8k --memory-total-size=4G memory run

在这里插入图片描述5. 测试 threads
threads 测试 时,每个工作线程将被分配一个 mutex锁。每次执行时,每个线程将循环–thread-yields 次,循环时这个线程会锁定,sysbench threads help可以查看帮助文档

sysbench --thread-yields=2000 --thread-locks=8 threads run

在这里插入图片描述
6. 测试 mutex
mutex锁 测试 时,sysbench 将为每个线程运行一个请求。这个请求首先会对 CPU 施加一些压力(使用一个简单的增量循环,通过 --mutex-loops 参数设置),然后随机使用一个 mutex,递增一个全局变量并再次释放锁。这个过程根据锁的个数(–mutex-locks)多次重复。随机 mutex 取自大小为 --mutex-num 的参数池,sysbench mutex help可以查看帮助文档

sysbench mutex run

在这里插入图片描述
7. 测试 file io
1).创建测试文件

sysbench --file-total-size=2G fileio prepare

2)测试
通过随机访问文件里的内容来测试读写速度
sysbench fileio help可以查看帮助文档

在这里插入代码片

在这里插入图片描述
3)清除测试文件

sysbench --file-total-size=2G fileio cleanup
  1. OLTP 基准测试
    1)创建表
sysbench --db-driver=mysql --mysql-user=root --mysql-password=123456  --mysql-db=oltp --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 把 OLTP 这个曾经的內建测试类型移除了,如果要用,需要在命令中指定测试类型的位置用 /usr/share/sysbench/oltp_read_only.lua 脚本代替测试类型,sysbench oltp_read_only help可以查看帮助文档

sysbench --db-driver=mysql --mysql-user=root --mysql-password=123456  --mysql-db=oltp --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

在这里插入图片描述3)清理创建的表

sysbench --db-driver=mysql --mysql-user=root --mysql-password=123456  --mysql-db=oltp --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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值