压力测试工具supersmack

压力测试工具super-smack

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

 

安装

Super-smack 现在是1.3版,源码下载地址如下:

http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz

 

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-lib=/usr/local/mysql/lib/mysql \

--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 型查询。

maxminavg为客户端最大、最小、平均连接时间,num_queriesmax_timemin_time为总请求次数,最大、最小查询时间(以毫秒为单位),q_per_s为每秒处理的请求数。

原文地址:https://www.cnblogs.com/feihongwuhen/p/7170313.html