JMeter를 압력 측정 연습

명령 줄 실행 : 대한 기술

명령 : 매개 변수, 보고서 저장 위치를 ​​지정합니다

JMeter를 -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o / 홈 / resultReport

-n : 비 GUI 모드 실행하여 JMeter

-t : 테스트가 수행되는 파일의 위치와 파일 이름

-r : 원격 분산 테스트 시나리오에 사용 된 모든 에이전트를 시작, 단지 하나의 포인트가 분산 테스트는 -r을 필요로하지 않는다

 -l : 파일, JTL 파일 형식을 저장하기 위해 생성 된 테스트 결과를 지정합니다

-e : 시험 성적서의 시험 후, 생성

-o : 어디 시험 성적서를 지정합니다

주의 사항 :

1, 그렇지 않으면 위의 명령에 해당하는 수행 할 수 없게됩니다, 존재하지 않아야합니다, 지정된 파일과 폴더를 -o 것은 resultReport 폴더에 오류가 달리 존재하지 있어야합니다

2, 마지막은 자동으로 테스트 보고서를 생성 테스트 보고서를 생성하지 않습니다 실행의 끝을 강제로

 

기술 II는 : 압력 측정 단차

동시 스레드 그룹 과 스레드의 두 가지 유형이 그룹에 사용할 수있는 스테핑 스레드 그룹은 가압 테스트를 강화,하지만 인해 스테핑 스레드 그룹은 공식적으로 우리가 동시 스레드 그룹에 소개, 추천되지 않았습니다.

 

대상 동시성 : 동시 목표

시간 (분)을 늘릴 : 가속 시간

램프 업 (ramp-up) 단계 수 : 가속 단계를 계산

목표 속도 시간 (분)을 길게 유지 시간 목표 속도

스레드 반복은 제한 : 반복 스레드의 수를 제한

파일에 상태 나사산 로그 : 스레드 상태를 파일로

위, 그래픽 프로세스 스레드 압력을 보여줍니다.

 

세 가지 기술 : 제어 요청 (QPS) 압력 측정

도착 스레드 그룹 우리는 스레드 그룹에 의해 요청의 수를 제어하는 ​​목적을 달성 할 수

목표 속도 : 목표 속도, 초당 요청 수

시간 (초) 진입로 : 시간이 필요한 목표 속도에 도달

ramp-up steps count:达到目标速率需要多少步

hold target rate time(sec):保持目标速率时间

thread iterations limit:线程迭代次数限制

log threads status into file:将线程状态记录到文件

concurrency limit:最大并发数限制

 

技巧四:权重控制压测

weighted switch controller 控制权重百分比的场景控件

 

技巧五:调试脚本添加Debug PostProcessor

一般是在需要添加正则(Regular Expression Extractor)、Xpath Extractor、 JSON Path Extractor等提取器的时候或者在参数化的时候,添加一个Debug PostProcessor,这样方便在调试脚本的时候,

看是否正确的提取到了所要的信息。当然,得添加View Result Tree,因为执行脚本以后是在tree里看debug的信息

 

技巧六:benshell使用

    JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

  • log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

  •  beanshell断言 Failure=true/false
  • ctx:该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext

    ctx.getCurrentSampler(); 获取当前 sampler 请求

    ctx.getPreviousSampler(); 获取前一个 sampler 请求

    ctx.getThreadNum(); 获取当前线程的序号,从 0 开始计数

    ctx.getThread(); 获取当前线程

    ctx.getThreadGroup(); 获取当前线程组

    ctx.getProperties(); 获取所有属性

    ctx.getVariables(); 获取当前线程的所有变量

  • vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:

    a) vars.get(String key):从jmeter中获得变量值

    b) vars.put(String key,String value):数据存到jmeter变量中

    更多方法可参考:org.apache.jmeter.threads.JMeterVariables

  • props - (JMeterProperties - class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。 

    a) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义 

    b) props.put("PROP1","1234"); 

  • prev - (SampleResult):获取前面的sample返回的信息,常用方法:

    a) getResponseDataAsString():获取响应信息

    b) getResponseCode() :获取响应code

추천

출처www.cnblogs.com/unknows/p/10954737.html