`

loadrunner直接压post请求loadrunner直接压post请求

阅读更多
Action()
{
//思考时间
//lr_think_time (5);
//集合点设置
	lr_rendezvous("集合");
//事务
	lr_start_transaction("trans");
	web_add_cookie("cart=6593,12,12|6965,8,8|7989,9,9|4038,5,5; DOMAIN=192.168.3.32");

	web_add_cookie("deleteCartProducts=; DOMAIN=192.168.3.32");

//	web_add_cookie("promotionRuleList=142,2774,2,-1|142,6593,1,-2|142,6965,1,-2|142,7989,0,-2|142,4038,0,-2|142,-1,1,1|145,2774,1,-1|145,6593,1,-2|145,6965,0,-2|145,7989,0,-2|145,4038,0,-2|145,-1,1,1|148,7989,2,-1|148,6593,1,-2|148,6965,0,-2|148,7989,0,-2|148,-1,1,1; DOMAIN=192.168.3.32");
//Ajax
	web_add_auto_header("x-requested-with",
		"XMLHttpRequest");
//文本检查点
//	  web_reg_find("Fail=NotFound",
//		"Search=Body",
//		"Text=86.40",
//		LAST);
// 通过返回“86.40”检查成功
	web_reg_find("Text=86.40",
		"SaveCount=Hello",
		"Search=Body",
		LAST);
	/*
	 * 请求前
	 */
	web_custom_request("AllGroupSKC",
		"URL=http://192.168.3.32:13245/Shopping/AllGroupSKC?_=1377684914235",
		"Method=POST",
		"Resource=0",
		"RecContentType=text/html",
		"Referer=",
		"Snapshot=t2.inf",
		"Mode=HTML",
		"EncType=",
		LAST);
    /*
	 * 请求后
	 */
// 检查结果
   if (atoi(lr_eval_string("{Hello}")) > 0){ //判断如果Welcome字符串出现次数大于0
//判断如果Welcome字符串出现次数大于0
	lr_output_message("Log on successful.");
   }else{ //如果出现次数小于等于
//如果出现次数小于等于
	lr_error_message("Log on failed");
	}
//在日志中输出Log on failed
//移除头信息
	web_revert_auto_header("x-requested-with");

//web_remove_cookie("promotionRuleList");
	lr_end_transaction("trans", LR_AUTO);

return 0;
}



1、增加压力机-->server单机的场景,或者在服务器上安装linux版本的,直接抛开网络状况,来压。

2、web_cleanup_cookies() 清除cookies 

web_remove_cookie()

//web_cache_cleanup();//清空缓存


访问首页,应该以带缓存的方式压测
访问单个商品页面,应该以清空缓存的方式压
压测空白页面
清除缓存:静态数据一直会获取,占用带宽==== vs 带缓存:静态数据一次性获取,而动态数据会一直获取
加集合点-总体tps会低  ==== vs 不加集合点   tps会高
加thinktime ==== vs 不加thinktime :不计算在tps之内的
加事务 ==== vs 不加事务,多流程的 要加多个事务
如果压页面过慢,逐步去掉资源压测,针对单个资源压测,
每个涉及到的环节都要考虑,机器节点、网络节点、访问策略,F5分发策略;
千兆带宽就只能支撑每秒120M的流量
----------------------------------
STring, stringbuffer不会动态分配内存,stringbuilder:才会动态使用内存
--------------------------------
日志要分开打印,要不然维护查问题不好查,会有log被多个节点冲散的情况
而且多个节点公用一个log文件,log4j会锁死,不能更新,新日期的log文件会生成不了
不用system.out
上线后,只输出关键日志,减少日志量
===================
家用2M的带宽,实际下载速度是170k bps
升级500倍后,下载是170*500=85M bps
假如页面是130k,当有2000的并发用户进来后,2000*130k=260M的数据量
260M/85M bps =3s,至少要用3秒时间来处理完




分享到:
评论

相关推荐

    Loadrunner 进行http post测试

    Loadrunner 提供了多种方法来模拟 HTTP Post 请求,其中一种常用的方法是使用 web_submit_data 函数。该函数可以模拟用户在浏览器中提交表单的行为,模拟 HTTP Post 请求。 例如,在上面的代码中,我们可以看到使用...

    loadrunner读图片文件转换为post内容

    本文将深入探讨如何使用LoadRunner来处理图片文件,并将其转换为POST请求的内容,这对于进行Web应用测试,尤其是涉及到文件上传的场景非常重要。 在给定的标题"loadrunner读图片文件转换为post内容"中,主要涉及的...

    http请求测试工具

    httppost可以模拟post发送和get方法向目标网站提交请求,这个是电脑端的软件,不是运行于web的脚本代码 1. testhttppost.exe:http post上传文件工具; 2. TestHttpPost: 源码; 3.lr_post.txt: 录制的loadrunner ...

    Loadrunner进行http接口压力测试.zip

    检查HTTP请求是否包含所有必要的参数,如URL、方法(GET或POST)、请求头和数据体等。使用VuGen中的断点、监视器等功能,可以分析响应数据,找出可能的问题。 3. **负载模型设置**: 在Controller中定义负载模型,...

    postjson压力测试.zip

    这些工具可以模拟大量并发用户,发送POST和GET请求,并收集详细的性能数据。 例如,Apache JMeter是一个开源的压力测试工具,可以创建测试计划来模拟不同类型的HTTP请求,包括POST和GET。在JMeter中,我们设定线程...

    loadrunner常见的HTTP状态代码含义

    303:查看其他类似于 301/302,不同之处在于,如果原来的请求是 POST,Location 头指定的重定响目标文档应该通过 GET 提取。 304:客户请求的文档已经不再可用,服务器不知道应该重定向到哪一个地址。 305:使用...

    Loadrunner在接口测试中的应用

    在接口测试中,Loadrunner 通过模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理,然后再把应答报文发送给客户端,客户端接收应答报文,这一个过程就是接口测试的原理。 在 Loadrunner ...

    loadrunner thtp json压测脚本

    3. **HTTP请求**:使用LR的Web_custom_request()函数发送HTTP请求,其中可能包含POST操作,用于提交JSON格式的数据。 4. **JSON数据构造**:使用LR的函数如web_add_variable()来构造JSON报文。报文可能包括键值对,...

    loadrunner基于ajax脚本开发案例视频专讲解

    对于Ajax脚本,可能需要参数化的是请求参数、查询字符串或POST数据。此外,【关联】是另一个重要步骤,它处理服务器响应中的动态值,确保每次回放时这些值都是正确的。在Ajax请求中,关联通常用于处理session ID或...

    LoadRunner登录

    LoadRunner的一个小程序,是针对http的post请求,主要是测试系统的性能

    loadrunner接口自动化测试

    例如,对于HTTP接口,可能包括URL、请求方法(GET、POST等)、请求头和请求体等。 2. **编写Vuser脚本**:使用LoadRunner的LR语言(Vuser Language)编写脚本,定义函数来读取数据文件中的参数,并构造接口调用。...

    12 LoadRunner中HTTP接口测试1

    `Body`参数用于填充POST请求的数据,与`web_submit_data()`不同的是,这里直接将JSON对象以字符串形式传递。 当XML结构复杂,如多级子元素或树状结构时,使用`web_custom_request()`更灵活。你可以先构建XML字符串...

    loadrunner脚本

    "Method=POST", ... ITEMDATA, "Name=usercode","Value={code}",ENDITEM, "Name=password","Value=",ENDITEM, LAST); ``` 这里,`lr_start_transaction`用于标记事务开始,便于性能分析;`web_submit_data`...

    web test LoadRunner fuction_list

    `function_list`通常指的是LoadRunner的Vuser脚本中使用的各种函数,这些函数可以帮助我们录制、回放和自定义网络请求。例如,`web_url()`函数用于发送HTTP GET请求,`web_post()`用于POST数据到服务器,`web_reg_...

    LoadRunner手动关联详细介绍

    // 发送 POST 请求 web_custom_request("jSystemFilterBean.IsShowValidateCode.dwr", "URL=http://192.168.0.123:3000/dwr/call/plaincall/jSystemFilterBean.IsShowValidateCode.dwr", "Method=POST", ...

Global site tag (gtag.js) - Google Analytics