当前位置:首页 > 开发 > 数据库 > 正文

mysql 基准测试之sysbench

发表于: 2015-06-15   作者:annan211   来源:转载   浏览:
摘要: 1 执行如下命令,安装sysbench-0.5: tar xzvf sysbench-0.5.tar.gz  cd sysbench-0.5  chmod +x autogen.sh  ./autogen.sh  ./configure --with-mysql --with-mysql-includes=/usr/local/mysql
1 执行如下命令,安装sysbench-0.5:
tar xzvf sysbench-0.5.tar.gz 
cd sysbench-0.5 
chmod +x autogen.sh 
./autogen.sh 
./configure --with-mysql --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib 
make 
make install

sysbench默认安装在:
 /usr/local/bin/sysbench


检查sysbench是否正确安装:
 
sysbench -v 


如果在运行时出现下面的错误提示:
 sysbench: error while loading shared libraries: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory 


那么需要建一个软链接:
 ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
 

出现问题
 
PANIC: unprotected error in call to Lua API (cannot open oltp: No such file or directory)

 
  是因为0.5版本改为使用 lua脚本 需要适当调整
 
sysbench --test=/path/to/oltp.lua --oltp-table-size=10000 --mysql-db=test --mysql-user=root 



1 测试cpu
sysbench --test=cpu --cpu-max-prime=20000 run


我们只需要关心测试的总时间(total time)即可。
补充知识:
查看CPU核数的方法
查看物理cpu个数
 grep "physical id" /proc/cpuinfo | sort -u | wc -l
查看核心数量
grep "core id" /proc/cpuinfo | sort -u | wc -l
查看线程数量
 grep "processor" /proc/cpuinfo | sort -u | wc -l
在sysbench的测试中,--num-threads取值为"线程数量"即可,再大的值没有什么意义,对测试结果也没有什么影响

sysbench --test=cpu --num-threads=`grep "processor" /proc/cpuinfo | wc -l` \
                --cpu-max-prime=20000 run


2 线程(thread)测试
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

如下图 (发送64次/个测试线程请求,每次/个线程请求产生/生成100个数量,每个线程的锁数量为2) ,

3 磁盘IO性能测试
首先创建要测试用的文件
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
其次进行磁盘IO测试
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run 
13秒完成对3G文件的随机读写

最后测试完成后,用以下命令清除测试时 创建的测试文件
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup
上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。

4、内存测试
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run
上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K。

5、oltp 测试
下面来看最重要也是最复杂的测试————oltp。oltp 基准测试模拟了一个简单的事物处理系统的工作负载。 下面的例子使用的是一张超过百万行记录的表,第一步是先生成这张表:
是因为0.5版本改为使用 lua脚本 需要适当调整
例如:
sysbench --test=/path/to/oltp.lua --oltp-table-size=10000 --mysql-db=test --mysql-user=root 

 
sysbench --test=/opt/program/sysbench-0.5/sysbench/tests/db/oltp.lua --oltp-table-size=1000000 --mysql-db=sbtest \
                --mysql-user=root --mysql-password=root --mysql-socket=/data/tmp/mysql.sock prepare


生成数据只需要上面这条简单的命令即可。这条命令在test 数据库中新建了一个表(sbtest),并在表中插入了1000000条记录。

数据加载完成以后就可以开始测试了,这个例子采用了16个线程,测试时长为720秒:
sysbench --test=/opt/program/sysbench-0.5/sysbench/tests/db/oltp.lua --oltp-table-size=1000000 --mysql-db=sbtest \
                --mysql-user=root --mysql-password=root  --max-time=720 --max-requests=0 --mysql-socket=/data/tmp/mysql.sock \
                --num-threads=16 --oltp-test-mode=complex run


清理测试数据
sysbench --test=/opt/program/sysbench-0.5/sysbench/tests/db/oltp.lua --oltp-table-size=1000000 --mysql-db=sbtest \
                --mysql-user=root --mysql-password=root  --max-time=720 --max-requests=0 --mysql-socket=/data/tmp/mysql.sock \
                --num-threads=16 --oltp-test-mode=complex cleanup 

与插入记录时一样,如果mysql是非默认安装,还需要指定--mysql-socket的值。


mysql 基准测试之sysbench

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
两台MySQL配置不一样,要测试下性能差别 [m1] long_query_time = 0.1 log_slave_updates innodb_flu
为什么需要基准测试?第一,可以获知MySQL的工作负荷;第二,获取系统对不对事物处理的性能表现;第
MySQL基准测试工具 mysqlslap、sysbench、Super Smack mysqlslap的使用MySQL官网给出了介绍 Super S
一、sysbench-0.5安装 软件下载地址:http://download.csdn.net/detail/zqtsx/8368857 或Email至“
先说下,mysql进行基准测试的工具及安装、基本使用。 mysql的基准测试工具有很多,如mysqlslap、sys
黄金法则:MySQL基准测试最佳实践   MySQL 基准测试在 数据库性能优化中是一个非常重要的分支。本
通常,我们会出于以下几个目的对MySQL进行压力测试: 1、确认新的MySQL版本性能相比之前差异多大,
Cluster结构图 用mysqlslap与sysbench进行测试_第1张图片" width="650" height="402" style="border
Cluster结构图 用mysqlslap与sysbench进行测试_第1张图片" width="650" height="402" style="border
健壮的 Java 基准测试,第 1 部分: 问题 程序性能一直是受到关注的问题,即使在现在这样的高性能硬
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号