分类: Mysql/postgreSQL
2013-04-17 16:06:18
原文地址:压力测试工具super-smack 作者:飞鸿无痕
压力测试工具super-smack
Super-smack 是一个强大的广受赞誉的压力测试工具,支持MySQL和PostgreSQL。这个工具程序现在由 Tony Bourke 维护。
安装
Super-smack 现在是1.3版,源码下载地址如下:
tar xzvf super-smack-1.3.tar.gz
cd super-smack-1.3
./configur --with-mysql --with-pgsql
根据需要,可以只保留 MySQL 和 PostgreSQL 中的一个。如果你的 client library 安装在其他目录,你要指明它,例如:
./configure
--with-mysql-include=/usr/local/mysql/include/mysql
然后
make
make install
安装过程中遇到问题
Make的时候出现如下错误:
query.cc:200: error: cast from ‘char*’ to
‘unsigned int’ loses precision
query.cc:200: error: cast from ‘char*’ to
‘unsigned int’ loses precision
query.cc:219: error: cast from ‘char*’ to
‘unsigned int’ loses precision
query.cc:219: error: cast from ‘char*’ to
‘unsigned int’ loses precision
解决办法:
更改query.cc文件的对应行
unsigned --> long
使用之前先要对.smack文件进行相应的更改,有select文件和update文件,其实就是代表测试的不同类 型,是select还是update,可以选择你要的操作使用相应的文件,这里我们使用select-key.smack.
cp /usr/share/smacks/select-key.smack
select-key-mysql.smack
将两处mysql socket修改成实际的mysql socket所在位置。
将两处处words.dat改成http_auth.dat。
将一处gen_data_file “gen-data -n 90000 -f
%12-12s%n,%25-25s,%n,%d”; 修改成 gen_data_file “./gen-data -n
90000 -f %12-12s%n %25-25s %n %d”;注意是将逗号改为TAB空格.
下面来体验下吧:
[root@server4 ~]#
super-smack --db-type=mysql
select-key-mysql.smack 10 1000
Query Barrel Report for
client smacker1
connect: max=764ms min=0ms avg= 91ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000
0 0 13128.83
这表示 super-smack 运行了10个客户,客户连接最长时间为764毫秒,最短的则没有延迟,平均时间为91毫秒。Super-smack 总共执行了20000此查询,每个查询所花时间都小于1毫秒。整个测试期间,服务端平均每秒执行了13128.83次 select_index 型查询。
max、min、avg为客户端最大、最小、平均连接时间,num_queries、max_time、min_time为总请求次数,最大、最小查询时间(以毫秒为单位),q_per_s为每秒处理的请求数。