LoadRunner 并发测试

用LoadRunner 模拟10万个连接,并发发送数据。脚本如下:

#include "lrs.h"

Action()
{
	int NUM = 300;    //每个用户创建的连接数
	int i=0;

	//连接服务器
	for(i=0; i< NUM; i++)
	{
   	   char name[20];
	   memset(name,0,20);
	   sprintf(name,"socket%d",i);
	   //lr_output_message("%s", name);
	   lrs_create_socket(name,"TCP", "LocalHost=0", "RemoteHost=127.0.0.1:10011",LrsLastArg);
	}

    //lr_rendezvous("OK");
	 
	//连接服务器,约定加密Key
	for(i=0;i < NUM; i++)
	{
	   char name[20];
	   memset(name,0,20);
	   sprintf(name,"socket%d",i);

	   lr_start_transaction("Login");

	      
	   lrs_receive(name, "buf_session_key",LrsLastArg);

	   lrs_send(name, "buf_login_send", LrsLastArg);		   
	   lrs_receive(name, "buf_login_rcv",LrsLastArg);

	   lrs_send(name, "buf_validate_key_send", LrsLastArg);		   
	   lrs_receive(name, "buf_validate_key_rcv",LrsLastArg);

	   lr_end_transaction("Login", LR_PASS);	

	}

	//收发数据包
	while(1)
	{
		//lr_rendezvous("OK2");
		for(i=0;i < NUM; i++)
		{
		   char name[20];
		   memset(name,0,20);
		   sprintf(name,"socket%d",i);

		   lr_start_transaction("Communicate");

		   lrs_send(name, "buf_comm_send", LrsLastArg);		   
		   lrs_receive(name, "buf_comm_rcv",LrsLastArg);

		   lr_end_transaction("Communicate", LR_PASS);	


		   if(i % 20 == 0)
		   {
			   lr_think_time(0.005);
			   //lr_think_time(1);
		   }		   
		}
		
	}

	//关闭服务器
	for(i=0; i< NUM; i++)
	{
	   char name[20];
	   memset(name,0,20);
	   sprintf(name,"socket%d",i);
	   lrs_close_socket(name);
	}


    return 0;
}


data.ws 定义请求包(16进制格式)请求包长度,返回包长度

;WSRData 2 1

recv buf_session_key 18

send  buf_login_send 38
"\x54\x48\x02\x00\x00\x00\x1c\x00\x00\x00\x74\x68\x69\x6e\x6b\x69\x76\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x36\x36\x63\x63\x32\x66\x32"

recv buf_login_rcv 415

send  buf_validate_key_send 138
"\x54\x48\x04\x00\x00\x00\x80\x00\x00\x00\x49\x0c\xf4\x1b\x25\x4d\x3d\x3c\x58\x13\xd1\xea\xdc\xeb\xa0\xef\xb3\x81\x02\xb8\xc3\x95\x8b\x85\xa5\xc4\xdb\xea\x6e\x1b\x59\x4d\x72\xcd\xb0\xd5\x40\x02\x90\x18\x46\x58\x59\x00\x8d\xcf\xb4\x2b\x7b\xad\xc2\xd1\xa6\x67\x05\x24\xbb\x9f\x22\xc9\x7b\x4d\xbb\x93\x15\x1d\x0c\xf1\x2e\xaf\x1c\xf6\xe9\x03\x13\x5d\x76\xf6\x7c\x8d\xa3\x72\x9f\x4e\x91\x15\x36\x99\xe7\x59\x7b\x88\xc2\xb8\x22\x65\x36\x40\x60\x30\x48\xa6\x9d\xc1\x93\x31\x05\x92\x8e\x06\xc1\x04\x53\xb2\xf8\x4b\x3a\xbc\xfd\x5a\x98\x95\x37\x27\x5e\xba\xfc\x47"

recv buf_validate_key_rcv 14


send  buf_comm_send 149
"\x54\x44\x00\x00\x01\x00\x01\x70\x00\x00\x00\xcc\xcc\xcc\xcc\x01\x00\x1a\x27\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\x83\x83\x31\x84\x5f\x29\x34\x09\xf2\x40\x7e\xf8\xbb\x95\x13\x3d\x3f\x52\x5a\xb7\xd1\x79\xaf\xa5\xe7\xb7\xc2\x2d\x89\x89\x2e\x21\x6a\x16\xc0\x1c\x14\xa5\xe7\x1f\x55\x3e\x0c\xf9\x27\xbd\x49\xb7\xa8\xc6\x25\xe6\x01\x0c\xea\x8d\x2b\xc9\x78\x78\xbb\x06\x60\x44\x8b\x75\x76\xd8\x1a\x64\x72\x67\x2d\xaf\x2c\x32\x4f\x10\xe5\x15\x1a\x03\x1e\x87\xe3\x99\xcf\x5c\xda\xa2\x4b\x90\xc1\xeb\x68\x0f\x76\x34\x6d\x9e\xb5\x5d\x27\x8e\xcd\xf0\x5b\x92\x77\x9b\xdd\xca"
recv buf_comm_rcv 245



你可能感兴趣的:(压力测试)