jmeter常用设置及常用语句--备忘(持续更新中~)

1、String aa = prev.getResponseDataAsString();//取上个响应值

2、String bb = aa.substring(from,to);//截取字符串

     int i = aa.indexOf("jsessionid");//字符串查找

3、string.equals(string)//判断字符串相等

4、引入json.jar

import org.json.JSONArray;
import org.json.JSONObject;

JSONObject response_obj = new JSONObject(prev.getResponseDataAsString());

5、结果写入到csv,供其他请求参数化访问,不依赖外部jar

FileWriter fstream = new FileWriter("**.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("***")+"\n");
out.close();
fstream.close();

6、linux下修改jvm参数,防止大并发溢出

jmeter.sh中的java $JVM_ARGS -Xms2G -Xmx8G -XX:MaxPermSize=512m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/ApacheJMeter.jar "$@"

7、修改日志输出级别,把低级别日志关掉,减少负载机开销。我用的是jmeter3.3版本。

位置:bin目录下的log4j.xml中的log_level.jmeter

8、分布式搭建

1)在各台负载机都放jmeter,并且配置好环境变量。linux下,修改用户目录下的.bash_profile,就是刚登上linux时的默认的目录。linux好多级别的环境变量,我们保障自己账户下可用就行,设置在本用户的层面。要注意linux本身要安装jdk,版本也要和jmeter兼容。我用的jmeter3.3,和jdk1.8兼容没问题。

2)slave机的设置:修改jmeter.properties,remote_hosts,设为本slave机自己的ip

3)master机的配置:修改jmeter.properties,remote_hosts,把所有slave机的ip和端口(默认1099,可自行修改)写上,逗号隔开。如果master机自己也要加入测试,自己的ip也写上。

4)所有slave机,bin目录下的jmeter-server,启动。(在bin目录下执行 ./jmeter-server)

此时就可以做分布式测试了。看到有些人遇到问题,主从机不在同一网段导致连不上、要关闭防火墙、端口冲突需要重置等,我刚好没有遇到(其实挺想遇到的~~)。

测试计划不用放到每个slave机上,master会发过去的。如果涉及到本地文件的上传,就都放在bin目录下,只写文件名称,不加路径,jmeter会自己到bin目录下去找。

 9、压测时经常要修改压测参数,通过在命令行设定线程组数量、间隔时间,避免经常修改并更换脚本文件。

-JthreadCount=100,对应gui中的参数设定${__P(threadCount,)}

-D对应系统参数的外部设定。

 

posted @ 2019-01-04 23:40  九微阁主  阅读(388)  评论(0编辑  收藏  举报