Super Smack - 数据库压力测试工具


未知
Linux
C/C++

软件简介

Super-smack 是一个强大的广受赞誉的压力测试工具,支持MySQL和PostgreSQL。这个工具程序现在由 Tony Bourke 维护。

安装
Super-smack 现在是1.3版,源码下载地址如下:
http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz

./configure—with-mysql—with-pgsql
根据需要,可以只保留 MySQL 和 PostgreSQL 中的一个。如果你的 client library 安装在其他目录,你要指明它,例如:
./configure—with-mysql=/opt/mysql
然后
make
su
make install

PS. FreeBSD 下面有 ports 的,安装起来更方便。

使用
将程序提供的 smack 样本文件重新拷贝一份,然后编辑此文件,填入相应的连接信息,比如用户名、密码、端口和测试所用的数据库名。
cp /usr/share/smacks/select-key.smack select-key-mysql.smack

开始运行
super-smack —d mysql select-key-mysql.smack 10 1000

10 是连接客户的数目,每个客户有100次轮询。

结果
Query Barrel Report for client smacker1
connect: max=66ms min=0ms avg= 66ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000 0 0 4360.61

这表示 super-smack 运行了10个客户,客户连接最长时间为66毫秒,最短的则没有延迟,平均时间为62毫秒。Super-smack
总共执行了20000此查询,每个查询所花时间都小于1毫秒。整个测试期间,服务端平均每秒执行了4360.61次 select_index 型查询。

另外,可以修改 smack文件中 相应的参数以符合你的测试要求。