我有个办法,不过不是用LR,是用super-smack,如果只对数据库进行抗压力测试,应该管用。
Super-smack 现在是1.3版,源码下载地址如下:
http://vegan.net/tony/supersmack/super-smack-1.3.tar.gz
以下是在linux下的安装及使用方法:
Super smack是一个基准套件。Super-smack是它的一个脚本工具。
可以用来测试myisam和innodb 还有ndb。
安装:用root用户
./configure—with-mysql=/usr/local/mysql5
Make
Make install
使用:(复制到哪都行)
cp –r /src/smacks /home
修改用户名、密码、数据库名(上下总共两个地方)
测试:
# super-smack -d mysql select-key.smack 10 1000
或者
# super-smack -d mysql update-select.smack 10 1000
作者只提供了select-key.smack和update-select.smack这两个测试包。
执行:
# super-smack -d mysql select-key.smack 10 1000
结果:
Query Barrel Report for client smacker1
connect: max=156ms min=0ms avg= 21ms from 10 clients
Query_type num_queries max_time min_time q_per_s
select_index 20000 0 0 16299.96
这里10是连接客户的数目。每个客户有100次轮询。
这表示super-smack运行了10个客户,客户连接最长时间为156毫秒,最短的则没有延迟,平均时间是21毫秒。super-smack总共执行了20000此查询,每个查询所花时间都小于1毫秒。整个测试期间,服务器端平均每秒执行了16299.96次select_index型查询。
/修改用户名、密码、数据库名
#vi select-key.smack或者#vi update-select.smack
第一行下面
client "admin"
{
user "root";
host "localhost";
db "test";
pass "";
socket "/tmp/mysql.sock"; // this only applies to MySQL and is
// ignored for PostgreSQL
}
// ensure the table exists and meets the conditions
table "http_auth"
中间靠下:
client "smacker1"
{
user "test"; // connect as this user
pass ""; // use this password
host "localhost"; // connect to this host
db "test"; // switch to this database
socket "/tmp/mysql.sock"; // this only applies to MySQL and is
// ignored for PostgreSQL
query_barrel "2 select_by_username"; // on each round,
// run select_by_username query 2 times
}