sysbench工具使用

sysbench工具使用

简介

第一个

sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目前支持的数据库主要是MySQL数据库和PG数据库。

在新服务器上线时,建议对服务器的性能做一次测试,最好与既往的同类型的服务器的性能测试 表做一个横线比较,发现潜在问题。及新机器上线前,对服务器做一次体检。

对数据库而言,我们可以通过sysbench工具实现对数据库的基准测试。在现在的系统架构中,前端都比较容易弹性水平拓展,数据库相对较难,因此,基准测试对数据库具有很重要的作用。而对数据库的基准测试的作用,就是分析在当前的配置下(包括硬件配置、OS、数据库设置等),数据库的性能表现,从而找出MySQL的性能阈值,并根据实际系统的要求调整配置。

第二个

sysbench是跨平台的基准测试工具,支持多线程,支持多种数据库;主要包括以下几种测试:

安装

centos的一种:

其他略

参数介绍

执行sysbench –help,可以看到sysbench的详细使用方法。

先看下参数说明:

可以看到支持 io,cpu,内存,线程 mysql ,PostgreSQL等的测试。

sysbench的基本语法如下:

sysbench [options]… [testname] [command]

下面说明实际使用中,常用的参数和命令。

(1)command

command是sysbench要执行的命令,包括prepareruncleanup,顾名思义,

  • prepare是为测试提前准备数据,
  • run是执行正式的测试,
  • cleanup是在测试完成后对数据库进行清理。

(2)testname

testname指定了要进行的测试,在老版本的sysbench中,可以通过–test参数指定测试的脚本;而在新版本中,–test参数已经声明为废弃,可以不使用–test,而是直接指定脚本。

例如,如下两种方法效果是一样的:

测试时使用的脚本为lua脚本,可以使用sysbench自带脚本,也可以自己开发。对于大多数应用,使用sysbench自带的脚本就足够了。不同版本的sysbench中,lua脚本的位置可能不同,可以自己在sysbench路径下使用find命令搜索oltp.lua。P.S.:大多数数据服务都是oltp类型的,如果你不了解什么是oltp,那么大概率你的数据服务就是oltp类型的。

(3)options

sysbench的参数有很多,其中比较常用的包括:

MySQL连接信息参数

MySQL执行参数

原文链接:https://blog.csdn.net/qq_36357820/article/details/80079012

1. mysql性能测试

比如测试一个数据库:

先新建 一个库

:tssysbench

准备压测数据:

具体参数细节,参考上文《参数介绍》章节。

简单来说,指定数据库名称,用户,密码,端口,驱动, 新建表数量,每个表的大小,笔者一开始指定15个表每个表一千万数据,导致好久没跑出来,所以大小看着设定即可。

会过段时间,执行完成以后,可以登录客户端查看数据量。

[root@mysql sysbench]# sysbench /usr/share/sysbench/oltp_insert.lua  --mysql-host=172.30.11.36  --mysql-port=3308 --mysql-user=root  --mysql-password='XXXX' --mysql-db=tssysbench --db-driver=mysql  --tables=15  --table-size=1000000  --report-interval=10 --threads=128   --time=180 preparesysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)Initializing worker threads...Creating table 'sbtest14'...Creating table 'sbtest1'...Creating table 'sbtest12'...Creating table 'sbtest7'...Creating table 'sbtest3'...Creating table 'sbtest10'...Creating table 'sbtest4'...Creating table 'sbtest6'...Creating table 'sbtest2'...Creating table 'sbtest5'...Creating table 'sbtest15'...Creating table 'sbtest11'...Creating table 'sbtest13'...Creating table 'sbtest8'...Creating table 'sbtest9'...Inserting 1000000 records into 'sbtest12'Inserting 1000000 records into 'sbtest9'Inserting 1000000 records into 'sbtest8'Inserting 1000000 records into 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年1月19日
下一篇 2022年1月19日

相关推荐