使用Super Smack进行MySQL性能测试

本文介绍了如何使用Super Smack替代mysqlslap进行MySQL性能测试。详细讲述了Super Smack的安装过程,包括解决编译错误,以及配置和运行测试。通过实例展示了如何自定义测试配置文件,包括连接数据库的信息、表的定义、数据生成和查询语句的设定。最后,解释了Super Smack执行测试的主要步骤和客户端配置。
摘要由CSDN通过智能技术生成

原本打算用mysql自带的mysqlslap做压力测试,可惜这工具不给力,可控制的地方不多,尤其不能够产生随机的测试语句。遂改用super smack。貌似它风评还不错。

安装
1.从网上下载tar.gz的安装包。http://vegan.net/tony/supersmack/ 我下载到的最新版本是1.3。
2.解压后运行./configure; make; make install
   ./configure的时候有些参数值得注意:
    a) --with-mysql (支持mysql)
    b) --with-pgsql (支持postgresql)
    c) --with-mysql-lib=/mysql/lib    (设置mysql lib库的路径)
    d) --with-mysql-include=/mysql/include    (设置mysql include的路径)
3.安装过程中可能会碰见这个错误:

办法是编译之前修改文件super-smack-1.3/src/query.cc
第193行:
    < int len = 0, num_recs = 0;
修改成:
    > long len = 0; int num_recs = 0;
第199,200行
    < int str_len = (*i).first.length();
    < if((unsigned)p + str_len + 3 *sizeof(int) < (unsigned)p_end )
修改成:
    > long str_len = (*i).first.length();
    > if((long)p + str_len + 3 *sizeof(int) < (long)p_end )
第219行
    < len = (unsigned)p - (unsigned)buf;
修改成:
    > len = (long)p - (long)buf;
(以上修改方法摘抄自网上的一篇blog,可惜link我已经找不到了,真不是我抄袭)

4.安装完成后,可以用自带的配置文件测试一下:
super-smack -d mysql ./smacks/select-key.smack 2 5
2 表示启动2个客户端,5 则表示每个客户端轮询5次。
测试过程可能会碰到一些问题(比如我碰到过找不到/tmp/mysql.sock),这是因为select-key.smack中一些参数设置和实际不符。修改一下就好了。

 

结果分析
[root@vm189 mysqltest]# super-smack -d mysql ./select_key.smack  20 100
Query Barrel Report for client smacker1
connect: max=0ms  min=0ms avg= 0ms from 20 clients
Query_type      num_queries     max_time        min_time        q_per_s
select_index    2000    4910    147     6.59

很容易理解。结果包括一共执行了多少次查询(num_queries),最大的一次查询时间(max_time)是4910

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值