如何使用LoadRunner进行winSocket的测试
2009-09-28 10:28
281 查看
一、 测试目标
服务器接收数据的能达到10000人/s并发能力。二、 测试工具和测试方法1. 测试工具
LoadRunner 82. 测试方法
模拟用户操作,用LR VuGen编写WinSocke发送指定格式的数据的脚本,并在发送语句中插入事务点。在LR Controler 中使用上述脚本,建立基于以每秒发送事务数为目标的场景,当客户机达到指定目标值时,从服务器端程序中输出接收到的数据量,并对比Oracle中写入的数据记录,用以验证服务器端接收数量在各个目标下是否有丢包情况。从低目标(3000/s)开始测试,无丢包情况则每次增加1000/s~2000/s,逐步加大压力上升到高目标(10000/s)。三、 测试步骤
1. 编写VuGen测试脚本
1) 初始化用户:创建WinSocket,连接服务器端vuser_init()
{
lrs_create_socket("socket0", "UDP", "LocalHost=0", "RemoteHost=192.168.10.153:8090", LrsLastArg);
return 0;
}
2) 发送数据buf1,插入事件点可对其进行监控
补充:通过for可以实现用相对少的并发用户增加每秒发送的事务数的功能
Action()
{
int i;
lr_start_transaction("Befor for");
//for( i=0; i<50; i++ )
{
lr_start_transaction("Socket_Send");
lrs_send("socket0", "buf1", LrsLastArg);
lr_end_transaction("Socket_Send", LR_AUTO);
}
lr_end_transaction("Befor for", LR_AUTO);
return 0;
}
3) 退出:关闭WinSocket,释放资源
vuser_end()
{
lrs_close_socket("socket0");
return 0;
}
4) 定义WinSocket发送的数据内容buf1
;WSRData 2 1
send buf1 93
"1, 116.2551305565, 39.9026138892, 0.0000000000, 271.5700000000, 116.261177"
"0243, 39.9038446707"
-1
#ifndef _GLOBALS_H
#define _GLOBALS_H
//--------------------------------------------------------------------
// Include Files
#include "lrun.h"
#include "lrs.h"
//--------------------------------------------------------------------
// Global Variables
#endif // _GLOBALS_H
5) 编译脚本 ,无错误后保存脚本文件。
2. 用Controller创建测试场景
1) 新建场景:选择基于目标的场景,加载用户脚本2) 编辑场景目标:目标类型选择Transactions per Second(每秒事务数),选择事物名称,并填写希望达到的目标值及虚拟用户数
加压类型选择自动加压。
3) 目标确定后:在页面上方会描述场景的总体情况和目标预览图
4) 设置保存结果路径:从菜单Results->Results Setting中设置保存结果路径,可选中第一个复选框,保证每次执行能自动创建,而不是覆盖上次的执行结果。
3. 执行场景,监控指标
1) 完成上述设置后,即可执行测试场景,开始测试 。2) 在场景运行过程中,Run页面中可监控各个指定的指标。
4. 结果分析
1) 场景运行完后,可通过Controller菜单Results->Analyze Results,直接进入结果分析工具,对当前场景的执行结果进行分析。2) 也可以直接打开Analyst工具,从File->Cross with Result中添加执行结果进行分析。
3) 打开后,可通过点击 来添加当前运行场景的各个图表。
4) 在Analyst中加载的图表,可通过菜单Reports导出成HTML或Word等格式。
相关文章推荐
- 使用loadrunner进行服务器性能测试(winsocket)
- 如何在LoadRunner中使用集合点进行测试(十一)
- 使用LoadRunner进行压力测试时如何选择要录制的协议?
- 使用loadrunner进行服务器性能测试(winsocket)
- 如何使用loadrunner进行并发测试,设置集合点
- 使用loadrunner进行报表导出下载的性能测试
- 简单介绍如何使用robotium进行自动化测试
- 如何使用Jenkins进行持续集成测试
- 使用Wisdom RESTClient进行自动化测试,如何取消对返回的body内容的校验?对排除的JSON属性字段不做校验?
- 如何使用 JMeter 调用你的 Restful Web Service?进行简单的压力测试和自动化测试
- 简单介绍如何使用robotium进行自动化测试
- 使用loadrunner进行性能测试(二)--参数化
- 使用loadrunner进行性能测试(三)--页面重定向问题
- 关于使用LoadRunner对Appeon Web应用进行压力测试的初步介绍
- [原创]如何使用Apache JMeter性能测试工具对WCF进行压力测试
- 如何使用Burp Suite Macros绕过防护进行自动化fuzz测试
- 如何进行iOS性能测试-------Instruments 使用教程
- 简单介绍如何使用robotium进行自动化测试
- 如何使用swingbench进行oracle数据库压力测试
- 使用LoadRunner进行性能测试的简单步骤