mysql测试工具详细介绍

本文对比分析了MySQL的两种性能测试工具——mysqlslap和super-smack。mysqlslap易于使用,但适用于已有数据库的SQL优化测试,而super-smack功能强大,支持定制化基准测试,适合复杂场景。文中详细介绍了super-smack的安装步骤、配置文件结构及测试用例,展示了如何利用这两种工具进行数据库压力测试和性能评估。
摘要由CSDN通过智能技术生成

mysqlslab和super-smack的比较测试:

 Mysqlslab

作用:模拟并发测试数据库性能。

优点:简单,容易使用。

不足:不能指定生成的数据规模,测试过程不清楚针对十万级还是百万级数据做的测试,感觉不太适合做综合测试,比较适合针对既有数据库,对单个sql进行优化的测试

 

super-smack

功能强大,可定制的benchmarking工具,提供量化,负载加载(每秒执行查询数)

产生数据(外部或内部)

可以使用字典文件来替换参数

提供查询间隔时间

方便调整查询频率

可以让不同的连接执行不同的语句

需要在不同的操作系统上编译


《一》:super-smack

关于super-smack的安装是相当需要费一番周折,安装super-smack之前,首先要确定已经安装了mysql的头文件mysql.h 和共享库文件libmysqlclient.

一、准备安装:

1.如果要安装super-smack,则需要在安装了mysql服务端与客户端之后再安装以下两个包,MySQL-devel....rpm,MySQL-shared compact...rpm。

软件包:

rhel-server-6.3-i386-dvd.iso安装包

 

super-smack-1.3.tar.gz

 

在rhel-server-6.3-i386-dvd.iso安装包中的mysql相关包都是rpm格式的,RPM格式文件安装之间关联性比较强容易产生冲突,因此以下安装采用yum安装

yum安装需要将以下红线标示出来的mysql包安装

 

1.1、.预安装配置


若未能安装上面红线相关mysql包,在安装super-smack时会有以下问题

./configure则会提示以下错误:

1.configure: error: Could not find mysql.h in ' /usr/include /usr/include/mysql                       

 /usr/local/include /usr/local/include/mysql                        

/usr/local/mysql/include' ;

 

2.configure: error: Could not find libmysqlclient in ' /usr/lib /usr/lib/mysql                

 /usr/local/lib /usr/local/lib/mysql                   

 /usr/local/mysql/lib;

其中mysql.h包含在mysql的开发包中,所以提示找不到mysql.h。而libmysqlclient包含在mysql的共享库包中。

安装完mysql开发包后,会发现mysql.h 存在/usr/include/mysql/mysql.h

安装完mysql共享库包后,会发现存在/usr/lib/libmysqlclient.so.16

 

若在64位机器上安装,安装此包后若还是提示错误,  编译的时候要把/usr/lib64目录下的libmysqlclient.so.16放到/usr/lib目录下。

 

出现到这里./configure基本完成,接下来进行make

1.2、make编译会产生以下问题

 

以上问题需要到dictionary.h和super-smack.cc文件中在头文件加上#include<string.h>

更改之后以上问题得以解决,编译总可以了吧,其实不然,make还会暴露问题,不信你看

 

因此需要安装byacc

yum install byacc

然后再进行编译,make && make install 则会最终安装成功。

1.3、安装完成则可进行测试了

super-smack -d mysql select-key.smack 10 1000

如果运行出错,如下:

 

在my.cnf下或者select-key.smack和update-key.smack修改socket

或者在/usr/local/mysql下为两个socket建立软连接

 

二、测试说明
super-smack -d mysql ./smacks/select-key.smack 10 1000
10 表示启动10个客户端,1000 则表示每个客户端轮询1000次。

结果分析 


很容易理解。结果包括一共执行了多少次查询(num_queries),最大的一次查询时间(max_time)是48ms,耗时最少的一次查询是2ms,每秒完成查询(min_time)5396.29

三、smack文档学习 

要做自定义的MySQL测试,当然就必须编辑自己的配置文件(.smack)。Super Smack之所以很灵活,就在于可以在它的配置文件中自定义很多的东西。当然,随着而来的就是配置文件的相对复杂。理解它的配置文件的结构,是学会用Super Smack的关键所在。

下文将以select-key.smack为例,讲解.smack配置文件的结构。
client "admin"
{
 user "root";

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值