首页 > 数据库 >Sybench性能测试MySQL/TIDB

Sybench性能测试MySQL/TIDB

时间:2023-10-27 10:33:23浏览次数:30  
标签:测试 -- mysql Sybench TIDB install MySQL sysbench

一、安装部署

1.1源码/:https://github.com/akopytov/sysbench

1.2安装工具Sysbench1.0.20版本

切换root用户执行

方式一:

- Debian/Ubuntu系统:

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash

sudo apt -y install sysbench

- RHEL/CentOS系统:

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash

sudo yum -y install sysbench

- Fedora系统:

curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash    

sudo dnf -y install sysbench

方式二:

### Debian/Ubuntu

``` shell

    apt -y install make automake libtool pkg-config libaio-dev

    # For MySQL support

    apt -y install libmysqlclient-dev libssl-dev

    # For PostgreSQL support

    apt -y install libpq-dev

```

 

### RHEL/CentOS

``` shell

    yum -y install make automake libtool pkgconfig libaio-devel

    # For MySQL support, replace with mysql-devel on RHEL/CentOS 5

    yum -y install mariadb-devel openssl-devel

    # For PostgreSQL support

    yum -y install postgresql-devel

```

 

### Fedora

``` shell

    dnf -y install make automake libtool pkgconfig libaio-devel

    # For MySQL support

    dnf -y install mariadb-devel openssl-devel

    # For PostgreSQL support

    dnf -y install postgresql-devel

```

 

## Build and Install

``` shell

    ./autogen.sh

    # Add --with-pgsql to build with PostgreSQL support

    ./configure

    make -j

    make install

```

二、测试方法

sysbench的基本命令格式为:

sysbench –test=< test-name> [options]… < command>

主要分为三个部分:

1、–test=< test-name>

这部分是指定测试类型,基本类型有fileio,cpu,memory,threads,mutex,oltp(或者指定lua脚本)

2、[options]…

这部分包括测试需要的各种选项,有全局的也有每个测试模式自由的选项

(每个测试模式的选项可以用./sysbench –test=< test-name> help来获取)

3、< command>

控制命令,总共有五个

prepare #准备测试,主要是生成测试数据

run #执行测试,根据选项限制来执行测试

cleanup #清除准备阶段生成的测试数据

help #获取帮助文档

version #获取版本信息

几个重要的全局参数:

–num-threads=N number of threads to use [1] #测试时使用的线程数

–max-requests=N limit for total number of requests [10000] #测试过程最多执行多少次请求

–max-time=N limit for total execution time in seconds [0] #测试过程总共执行多长时间(和–max-requests效果同样,但是两个同时限定的时候谁优先还没有测试)

–report-interval=N periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0] #每隔多少秒输出测试概况(这个过程你可以观察到mysql redolog的切换情况)

–db-driver=STRING specifies database driver to use (‘help’ to get list of available drivers) #指定需求测试的数据库类型,默认是mysql

#mysql链接选项

–mysql-host=[LIST,…] MySQL server host [localhost] #mysql主机地址

–mysql-port=N MySQL server port [3306] #mysql端口

–mysql-socket=[LIST,…] MySQL socket #mysql socket文件位置,指定这个之后 其他的链接选项均可以不指定

–mysql-user=STRING MySQL user [sbtest] #用来测试的mysql用户名

–mysql-password=STRING MySQL password [] #密码

–mysql-db=STRING MySQL database name [sbtest] #测试数据库名 默认sbtest

三、MySQL/TIDB数据库读写吞吐量测试

在测试之前请预先创建数据库,并给予测试用户足够的权限。然后使用工具进行:

举例:(命令最后不是prepare,是run了,意思就是运行压测)

(1) 数据准备

sysbench --db-driver=mysql --threads=10 --report-interval=5 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=1q2w!Q@W --mysql-db=test --tables=15 --table_size=500000 oltp_insert --db-ps-mode=disable prepare

(2) 运行测试数据

sysbench --db-driver=mysql --threads=10 --report-interval=5 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=1q2w!Q@W --mysql-db=test --tables=15 --table_size=500000 oltp_insert --db-ps-mode=disable run

(3) 记录输出的测试结果

(4) 清理测试数据

sysbench --db-driver=mysql --threads=10 --report-interval=5 --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=1q2w!Q@W --mysql-db=test --tables=15 --table_size=500000 oltp_insert --db-ps-mode=disable cleanup

标签:测试,--,mysql,Sybench,TIDB,install,MySQL,sysbench
From: https://www.cnblogs.com/zwh-Seeking/p/17791126.html

相关文章

  • mysql统计 不含的月份补0
    构造当前日期之前10天的日期表 可以把DAY换成MONTH构造需要的月份  不需要固定天数的可以去掉limitSELECT@cdate:=date_add(@cdate,INTERVAL-1DAY)dateFROM(SELECT@cdate:=date_add(CURDATE(),INTERVAL1DAY)FROMAPPLYLIMIT10)a ......
  • 常见面试题-MySQL专栏(一)
    为什么mysql删了行记录,反而磁盘空间没有减少?答:在mysql中,当使用delete删除数据时,mysql会将删除的数据标记为已删除,但是并不去磁盘上真正进行删除,而是在需要使用这片存储空间时,再将其从磁盘上清理掉,这是MySQL使用延迟清理的方式。延迟清理的优点:如果mysql立即删除数据,会导......
  • 41 mysql 索引和慢查询优化
    MySQL之索引原理与慢查询优化 阅读目录一介绍二索引的原理三索引的数据结构四聚集索引与辅助索引五MySQL索引管理六测试索引七正确使用索引八联合索引与覆盖索引九查询优化神器-explain十慢查询优化的基本步骤十一慢日志管理一介绍为何要......
  • scrapy中爬虫数据如何异步存储mysql数据库jd
    1.SQLCREATETABLE`JDAll`(`shop_id`VARCHAR(16)NOTNULL,//商品ID`url`VARCHAR(255)DEFAULTNULL,//商品url`title`VARCHAR(1024)DEFAULTNULL,//商品标题`brand`VARCHAR(255)DEFAULTNULL,//品牌`brand_url`VARCHAR(1024)DEF......
  • 事务,python连接mysql 索引等
    1.python连接MySQLMySQL本身就是一款C/S架构,有服务端、有客户端,自身带了有客户端:mysql.exepython这门语言成为了MySQL的客户端(对于一个服务端来说,客户端可以有很多)"""SQL的由来"""操作步骤:1.先链接MySQLhost、port、username、password、charset、库等......
  • maven创建普通java项目访问mysql-mybatis
    基础资料:数据库:d1,表:t1,字段:xm,nl(即姓名、年龄),内容('zs',20;'ls',18)以下内容由官网“https://mybatis.org/mybatis-3/zh/getting-started.html”整理而来。不尽不实之处请参考官网原文。思想:1、在pom.xml文件中除了给出mybatis和jdbc的依赖之外,还应给出资源(配置)文件位置。2、在my......
  • MySQL--变量
    变量mysql中的变量分为两种14.1系统变量1)全局变量在一个会话中修改,其他会话中的全局变量也会跟着修改showglobalvariables;查看全局的系统变量修改变量:set@@global.time_zone="system"setglobaltime_zone="+8:00"2)会话级变量在一个会话中修改,其他会话不受影响showsess......
  • 使用NvicatPremium时,Mysql数据库插入数据时,报错1064
    使用navicatPremium新版本时,插入数据,显示错误1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''choose'('ChooseNo','SNo','CNo','......
  • javaweb--mysql数据模型
    关系型数据库由多张可以相互连接的二维表组成的数据库frm表文件myd数据文件注释/**/多行注释--和#单行注释四类语法DDL数据定义语言DML数据操作语言DQL数据查询语言DCL数据控制语言原始数据库information_schema存储数据库的基本信息,存储的库名表名列名等mysql存......
  • MySQL报'Access denied for user 'root'@'localhost' (using password: NO)'
    当在命令提示符下执行该命令时,报下列错误[root@clvn]#mysqladmin-urootpassword"sorry"mysqladmin:connecttoserverat'localhost'failederror:'Accessdeniedforuser'root'@'localhost'(usingpassword:NO)'解决办法:[root@c......