作家
登录

详解MySQL基准测试和sysbench工具

作者: 来源: 2017-10-12 11:33:35 阅读 我要评论


详解MySQL基准测试和sysbench对象

媒介

作为一名后台开辟,对数据库进行基准测试,以控制数据库的机能情况是异常须要的。本文介绍了MySQL基准测试的根本概念,以及应用sysbench对MySQL进行基准测试的具体办法。

文┞仿有疏漏之处,迎接批驳斧正。

一、基准测试简介

(1)command

数据库的基准测试是对数据库的机能指标进行定量的、可复现的、可比较的测试。

1、什么是基准测试

基准测试可以懂得为针对体系的一种压力测试。但基准测试不关怀营业逻辑,加倍简单、直接、易于测试,数据可以由对象生成,不请求真实;而压力测试一般推敲营业逻辑(如购物车营业),请求真实的数据。

2、基准测试的感化

对于多半Web应用,全部体系的瓶颈在于数据库;原因很简单:Web应用中的其他身分,例如收集带宽、负载均衡节点、应用办事器(包含CPU、内存、硬盘灯、连接数等)、缓存,都很轻易经由过程程度的扩大(俗称加机械)来实现机能的进步。而对于MySQL,因为数据一致性的请求,无法经由过程增长机械来分散向数据库写数据带来的压力;固然可以经由过程前置缓存(Redis等)、读写分别、分库分表来减轻压力,然则与体系其它组件的程度扩大比拟,受到了太多的限制。

3、基准测试的指标

(1)下载解压

常见的数据库指标包含:

  • TPS/QPS:衡量吞吐量。
  • 响应时光:包含平均响应时光、最小响应时光、最大年夜响应时光、时光百分比等,个中时光百分比参考意义较大年夜,如前95%的请求的最大年夜响应时光。。
  • 并发量:同时处理的萌芽请求的数量。

4、基准测试的分类

对MySQL的基准测试,有如下两种思路:

(1)针半数个体系的基准测试:经由过程http请求进行测试,如经由过程浏览器、APP或postman等测试对象。该筹划的长处是可以或许更好的┞冯半数个体系,测试结不雅加倍精确;缺点是设计复杂实现艰苦。

(2)只针对MySQL的基准测试:长处和缺点与针半数个体系的测试正好相反。

在针对MySQL进行基准测试时,一般应用专门的对象进行,例如mysqlslap、sysbench等。个中,sysbench比mysqlslap更通用、更强大年夜,且更合适Innodb(因为模仿了很多Innodb的IO特点),下面介绍应用sysbench进行基准测试的办法。

而对数据库的基准测试的感化,就是分析在当前的设备下(包含硬件设备、OS、数据库设置等),数据库的机能表示,大年夜而找出MySQL的机能阈值,并根据实际体系的请求调剂设备。

二、sysbench

1、sysbench简介

本文重要介绍对数据库机能的测试。

2、sysbench安装

本文应用的情况时CentOS 6.5;在其他Linux体系上的安装办法大年夜同小异。MySQL版本是5.6。

  1. wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip" 
  2.  
  3. unzip sysbench-1.0.zip 
  4.  
  5. cd sysbench-1.0 

(2)安装依附

  1. yum install automake libtool –y 

安装之前,确保位于之前解压的sysbench目次中。

  1. ./autogen.sh 
  2. ./configure 
  3. export LD_LIBRARY_PATH=/usr/local/mysql/include #这里换成机械中mysql路径下的include 
  4. make 
  5. make install 

(4)安装成功

  1. [root<a href=http://database.51cto.com/art/201710/"http://www.jobbole.com/members/q1531454480">@test</a> sysbench-1.0]# sysbench --version 
  2. sysbench 1.0.9 

5、测试结不雅

3、sysbench语法

履行sysbench –help,可以看到sysbench的具体应用办法。

sysbench的根本语法如下:

sysbench [options]… [testname] [command]

下面解释实际应用中,常用的参数和敕令。

(1)预备数据

command是sysbench要履行的敕令,包含prepare、run和cleanup,顾名思义,prepare是为测试提前预备数据,run是履行正式的测试,cleanup是在测试完成后对数据库进行清理。

(2)testname

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

例如,如下两种办法效不雅是一样的:

  1. sysbench --test=./tests/include/oltp_legacy/oltp.lua 

      推荐阅读

      数据集市的挑战:如何才能识别和处理数据安全

    元数据须要治理数据拜访权限、取得数据概要结不雅,数据开辟者和终端用户的反馈。元数据储存了定义临盆预备就绪的策略,并且可以或许履行这些策略。没有元数据,数据湖就会无法应用,并变成一个严重的安然风险。 >>>详细阅读


    本文标题:详解MySQL基准测试和sysbench工具

    地址:http://www.17bianji.com/lsqh/37841.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)