51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5207|回复: 8
打印 上一主题 下一主题

[原创] 请教高手!怎样使用LoadRunner对MySQL进行查询功能抗压力测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-31 17:01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在下刚刚在公司接了一个任务,要求测试公司出的一个新版产品,该产品是一个管理校园上网的监控软件,基于C/S构架,后台数据库是MySQL5.0,现在要求在客户及机上模拟150个用户进行并发查询操作,并查询2万次,对数据库进行抗压力测试。
问题:
1.我不知道该怎么下手,是不是和录制WEB测试脚本一样进行?
2.录制脚本时采用什么协议?
3.基本测试策略?

谢谢大虾们指点啊,感激不尽啊~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-12-31 22:30:33 | 只看该作者

高手咧?

高手们啊,出来帮忙啊~~
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-1-1 20:32:39 | 只看该作者
socket协议吧(也可以选择别的 比如java vuser)
录制或编辑一份查询数据的脚本
并发150(有过licence够用的话)
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-1-2 00:58:14 | 只看该作者

回复 3# 的帖子

我看到书上介绍说socket协议是适合录制后台没有数据库的C/S系统脚本的,这里可以选用这个协议么?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-1-2 10:23:07 | 只看该作者
我有个办法,不过不是用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
}
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-1-2 10:25:16 | 只看该作者
./configure—with-mysql=/usr/local/mysql5
这里的mysql5是你的mysql安装时的名字
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-1-2 16:33:20 | 只看该作者

如果使用LR有什么好的方法么?

如果要是用LR有没有好的方案?请大虾指教!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-1-3 09:14:34 | 只看该作者

如果使用LR有什么好的方法么?

如果要是用LR有没有好的方案?请大虾指教!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-1-4 14:34:10 | 只看该作者

如果使用LR有什么好的方法么?

如果要是用LR有没有好的方案?请大虾指教!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 08:38 , Processed in 0.078647 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表