`
annan211
  • 浏览: 462677 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 基准测试之sysbench

阅读更多

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
  请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1
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 


    请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

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工具.doc

    数据库的基准测试是对数据库的性能指标进行定量的、可复现的、可对比的测试。基准测试与压力测试 基准测试可以理解为针对系统的一种压力测试。但基准测试不关心业务逻辑,更加简单、直接、易于测试,数据可以由工具...

    mysql-sysbench测试

    mysql-sysbench测试是指使用sysbench工具对mysql数据库进行基准测试,测试包括cpu测试、I/O基准测试和OLTP基准测试等。sysbench是一个开源的基准测试工具,可以模拟不同的负载场景来测试数据库的性能。 sysbench...

    MySQL 性能测试工具sysbench安装使用

    Sysbench是一款开源的、跨平台的、多线程基准测试工具,用于评估不同系统配置下的数据库负载性能。它支持多种测试模式,包括但不限于CPU运算性能、磁盘I/O性能、调度程序性能、内存分配及传输速度、POSIX线程性能...

    06-MySQL压力测试工具sysbench1

    sysbench 是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。目前 sysbench 主要支持 MySQL, pgsql, oracle 这 3 种数据库。 sysbench 的主要测试方式 1. CPU ...

    统一开发环境mysql5.7.11基准测试文档_基于sysbench测试工具

    - **范围说明**:此文档旨在通过Sysbench工具对MySQL 5.7.11环境进行基准测试。测试涵盖了两个不同的环境:扬州机房现运行生产环境和移动机房统一开发环境。测试主要从五个维度来进行:CPU计算能力、文件I/O能力、...

    Mysql基准测试工具-sysbench

    Sysbench主要的测试方法有:  之前介绍了相关mysql的性能参数调优,这些天利用基准测试工具对mysql的测试,Jason留下点Memory。  Mysql数据库本身提供了比较优秀的性能测试工具,这里另外介绍下sysbench。  ...

    sysbench(sysbench-1.0.20)

    sysbench(sysbench-1.0.20)是一个基于LuaJIT的可编写脚本的多线程基准测试工具,主要用于数据库基准测试。 sysbench-1.0.20.tar.gz sysbench-1.0.20.zip

    sysbench基准测试

    `sysbench`是一款开源的多线程性能基准测试工具,主要用在数据库系统上,但也可用于评估系统的整体性能,包括CPU、内存、磁盘I/O等。它提供了丰富的测试场景,比如OLTP(在线事务处理)操作、CPU压力测试、文件IO...

    MySQL数据库基于sysbench实现OLTP基准测试

    sysbench是一款非常优秀的基准测试工具,它能够精准的模拟MySQL数据库存储引擎InnoDB的磁盘的I/O模式。因此,基于sysbench的这个特性,下面利用该工具,对MySQL数据库支撑从简单到复杂事务处理工作负载的基准测试与...

    sysbench-1.0.19.zip

    sysbench是一个多线程、多事件驱动的性能测试和基准测试工具,主要用于评估和比较数据库系统的性能。在这个sysbench-1.0.19.zip压缩包中,包含的是sysbench的源代码,为用户提供了一种强大的方式来测试MySQL数据库的...

    性能测试sysbench.rar

    sysbench的主要功能包括CPU基准测试、内存基准测试、文件系统I/O基准测试和数据库性能测试。对于CPU测试,可以运行: ``` sysbench --test=cpu run ``` 内存测试可以使用`--test=memory`参数,例如: ``` ...

    数据库经典压测工具sysbench双版本 sysbench0.5支持oracle sysbench1.1 支持达梦 附详细文档

    这些文档通常会涵盖环境设置、软件依赖、配置文件设置以及如何运行基准测试等关键信息。 总的来说,sysbench作为一个强大的数据库性能测试工具,能够帮助我们深入了解数据库在各种工作负载下的表现。sysbench0.5和...

    mysql-benchmark:使用sysbench进行mysql基准测试

    首先,我们需要安装sysbench,我将sysbench安装在另一台服务器上,以便我们可以测试负载对MySQL服务器的实际影响。 通过脚本安装sysbench git clone https://github.com/nycon/mysql-test.git cd mysql-benchmark ...

    sysbench-master.zip

    sysbench是一款强大的多线程性能基准测试工具,主要应用于数据库系统、操作系统以及CPU性能的评估。它由Alexey Kopytov开发,并在GitHub上开源,链接为<https://github.com/akopytov/sysbench>。sysbench的最新版本...

    使用sysbench来测试MySQL性能的详细教程

    sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。 目前sysbench代码托管在launchpad上,项目地址:https://launchpad.net/sysbench(原来的官网 ...

    sysbench-docker-hpe:Sysbench用于VM和容器基准测试MySQL的Dockerfile和脚本

    您可以使用下面每个场景中的文件来重新创建Sysbench使用MySQL基准,以从每个场景中获取TPS(每秒事务数)。 这些参考文件的主要目的是帮助您从虚拟机迁移到虚拟机容器,最终到裸机容器时,对环境中MySQL和其他工作...

    sysbench.rar

    **sysbench**是一款开源的、跨平台的系统性能测试和基准测试工具,广泛应用于Linux环境,用于评估数据库、CPU、磁盘I/O等系统的性能。它由Anton Lipov开发,支持多种数据库引擎,包括MySQL、PostgreSQL和Oracle。...

Global site tag (gtag.js) - Google Analytics