loadrunner socket编程,关于并发的疑问
init:#include "lrs.h"
int i=0;
#define MAX_NUM 100
#define SEND_TIME 100
int socketID;
static int index = 0;
vuser_init()
{
lrs_startup(257);
memset(socketID, 0, MAX_NUM*sizeof(int));
return 0;
}
action:
#include "lrs.h"
char socketId;
char data = "";
int seeds = 0;
int ret = 0;
Action()
{
data = 0x93;
data = 0x35;
lr_rendezvous("大量发送数据");
lr_think_time(5);
lr_start_transaction("senddata");
seeds = 10000*srand(time(NULL));
memset(socketId, 0, 12 );
sprintf(socketId, "socket%d", abs(seeds));
ret = lrs_create_socket(socketId, "TCP", "LocalHost=0", "RemoteHost=192.168.1.230:4018", LrsLastArg);
if( ret == 0 ) {
for(i=0; i<1; i++ ) {
lrs_set_send_buffer(socketId, data, strlen(data));
lr_output_message("socketid=%s, send data is %s, return value is: %d", socketId, data, ret);
lrs_send(socketId, "data3", LrsLastArg);
}
lrs_close_socket(socketId);
}
lr_end_transaction("senddata", LR_AUTO);
return 0;
}
脚本大致就是这样的
遇到的问题是:压力测试,测的是网关那块的,因为要建立大量的不同用户进行数据并发,基于每个用户得建立一个socket连接,所以脚本就那样写了,可是问题是连接建立起来了,但10用户连上去就6-7个发送数据成功了,这是为什么啊?求高人指导,谢谢 在线等答案,已经1个星期了 还是没有解决,如果高人方便,可以加我QQ:12296618,不胜感激~ 等待高人解决 首先查看一下有多少用户登录成功啦 完事才能确定数据发送成功 回复 4# 8463212
连接都是成功的,但是服务端接收数据有时会接收不到,而且每次成功的比例不相同
页:
[1]