使用Super Smack做MySQL压力测试

在MySQL的压力测试中,Super Smack是一个”广受赞誉”的压力测试工具(在MySQL的Manual中推荐的)。主页:Homepage,目前暂时没有详细的文档(代码维护者,已经在考虑写了),在下载的源码文件中,有一个README和MANUAL文件,里面可以找到一些介绍。

安装super smack

这里假设,MySQL编译安装目录是:/opt/mysql

$wget http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz
$tar zxvf super-smack-1.3.tar.gz
$cd super-smack-1.3
./configure --prefix=/home/mysql/supersmack/ --with-mysql=/opt/mysql \
--with-mysql-lib=/opt/mysql/lib/mysql --with-mysql-include=/opt/mysql/include/mysql
$make
$make install

编译、安装完成后,在/home/mysql/supersmack/bin/目录下会有两个二进制文件:

$cd /home/mysql/supersmack/bin/ && ls
gen-data  super-smack

64位系统中,一般还需要在合适的位置放置libmysqlclient.so.16.0.0,一般需要如下操作:

ln -s /opt/mysql/lib/mysql/libmysqlclient.so.16.0.0 /opt/lib64/libmysqlclient.so.16

一般,这样你就可以开始进行压力测试了。

super-smack -d mysql /home/mysql/super-smack-1.3/smacks/select-key.smack 10 1000

这里select-key.smack是一个任务文件,定义了如何进行测试:执行怎样的SQL,执行多少次?通过配置这个文件,可以模拟各种场景的测试。这也正是super smack的优点所在。

关于这个文件的语法,可以参考目录/home/mysql/super-smack-1.3/smacks中的几个示例,也可以阅读源代码中附带了MANUAL文件。

super smack任务文件详解

已经有很多编写了关于如何安装super smack的,但是要用好super smack还需要编写漂亮的任务文件,这也是super smack强大的地方。

http://blog.chinaunix.net/u/29134/showart_443933.html

Leave a Reply

Your email address will not be published. Required fields are marked *