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 请求,其中一种常用的方法是使用 web_submit_data 函数。该函数可以模拟用户在浏览器中提交表单的行为,模拟 HTTP Post 请求。 例如,在上面的代码中,我们可以看到使用...
httppost可以模拟post发送和get方法向目标网站提交请求,这个是电脑端的软件,不是运行于web的脚本代码 1. testhttppost.exe:http post上传文件工具; 2. TestHttpPost: 源码; 3.lr_post.txt: 录制的loadrunner ...
这是一个loadrunner脚本,示例如何读出一个图片文件,转换生成一个文本文件,文件的内容是loadrunner httppost上传文件的BodyBinary内容
303:查看其他类似于 301/302,不同之处在于,如果原来的请求是 POST,Location 头指定的重定响目标文档应该通过 GET 提取。 304:客户请求的文档已经不再可用,服务器不知道应该重定向到哪一个地址。 305:使用...
LoadRunner的一个小程序,是针对http的post请求,主要是测试系统的性能
这个压缩包中包括: 1. testhttppost.exe:http post上传文件工具; 2. TestHttpPost: 源码;...参考:<loadrunner读图片文件转换为post内容>: http://download.csdn.net/detail/testingba/4686466
LoadrunnerloadRunner 利用LoadRunner进行http接口功能自动化测试软件测试 自动化测试脚本设计总体流程如下图: 需要取得的输入应预先制作了CSV文件,关在脚本参数配置中定义变量。 自动化测试程序关键代码 1、...
注意:当在接收到301状态码后而自动重定向POST请求时,一些现存的用户代理会错误地 将其改为GET请求。 302 Moved Temporarily 请求到的资源在一个不同的URL处临时保存。因为重定向有时会被更改,客户端应继续用 ...
安装loadrunner9.5必须的文件
当然,如果程序在Unix,linux下面运行的话,可以直接编 写Shell脚本程序,更加方便。 另外,还有很多专门的工具,比如说Linkbot是专门作页面链接测试的。 另外,测试流程管理工具也有不少,个人用过也一直在用...
Hulken支持多个URL,GET和POST,静态和动态有效载荷,多个代理等。 Hulken是高度可配置的,但默认为一些合理的设置。 Hulken既可以用作库,也可以用作独立的命令行工具。 赫尔肯是绿巨人的瑞典人。 ..粉碎,仅此...
一、前言以前的系统由于表设计比较复杂(多张表,表与表直接有主从关系),这个是业务逻辑决定的。 插入效率简直实在无法忍受,必须优化。在了解了Postgre的Copy,unlogged table 特性 之后,决定一探究竟。 二、测试...