2012-07-31 5 views
10

CI 시스템에 의해 자동으로 실행되는 성능 테스트를 설정해야합니다. 이를 위해 일부 스크립트 및 경험으로 JMeter를 사용하고자하며 이미 Maven과 결합하려고합니다. 나는 두 개의 플러그인이 존재하는 것을 발견 합리적인 플러그인에 대한 내 연구하는 동안JMeter에 사용할 메이븐 플러그인은 무엇입니까? jmeter-maven-plugin 또는 chronos-jmeter-maven-plugin이란 무엇입니까?

:

  1. JMeter를-받는다는 - 플러그인 : http://wiki.apache.org/jmeter/JMeterMavenPlugin
  2. 크로노스 - JMeter를-받는다는 - 플러그인 : http://mojo.codehaus.org/chronos/chronos-jmeter-maven-plugin/usage.html

어느 쪽을 더 사용하는 것이 좋습니까? 둘 다 현재 유지 보수 중이며 개발 중입니다. 이것에 대한 경험이 있습니까? 구성조차도 비슷합니다.

며칠간 두 플러그인을 함께 사용하지 않고도 내게 도움이 될 수있는 힌트를 얻게되어 기쁩니다.

+2

jmeter-maven-plugin에는 아무 것도 설치할 필요가 없습니다 (분명히 maven과 별개로). 기본적으로 Maven 구현이므로 Maven 중심에서 모든 요구 사항을 가져옵니다. – Ardesco

답변

3

아직 maven에서 .jmx 파일을 사용하지 않았으며 특별히 언급 한 플러그인을 사용하지 않았습니다.

하지만 필요한 경우 어떻게 할 수 있는지 생각해 볼 수 있습니다.

이렇게 생각하면 GUI 모드에서 jmeter 테스트를 실행할 수 있습니다.

  1. 없이 GUI 모드로하여 JMeter 테스트를 실행 쉘 스크립트 래퍼, 예 (jmeter_exe.sh) 만들기 :

$JMETER_HOME/bin/jmeter.sh -n -t MY_LOAD_TEST.jmx -l resultFile.jtl

그래서이 지정된 스크립트 및 저장 결과를 실행을 .jtl 파일에서 테스트 결과를 표시하는 데이 파일을 사용하면 this 게시물이 유용 할 수 있습니다. 지금은 주제가 아닙니다.

1 단계 완료.

2. 그런 다음 프로젝트 루트에 scripts 디렉토리를 생성 할 수 있습니다.

<plugin> 
    <artifactId>exec-maven-plugin</artifactId> 
    <groupId>org.codehaus.mojo</groupId> 
    <executions> 
    <execution> 
     <id>Run load Test</id> 
     <phase>generate-sources</phase> 
     <goals> 
     <goal>exec</goal> 
     </goals> 
     <configuration> 
     <executable>${basedir}/scripts/jmeter_exe.sh</executable> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

을 그리고 테스트가 생성 - 소스 단계에서 실행됩니다 짜잔 : 당신은 당신의 pom.xml이를 넣을 수 있습니다보다. 언급 한 플러그인을 사용하면이 작업이 더 쉬워졌지만이 작업에 대한 지식이 없기 때문에 방금 내 마음에 들었습니다.

+0

답변 해 주셔서 감사합니다. 나와 저의 동료들은 JMeter에서 테스트를 준비하고 실행하려고합니다. 작동하고 안정되면 Maven에 자동으로 넣기 위해 Maven에 넣기를 원합니다. 디버깅을 위해 JMeter에서이 테스트를 다시 실행하려고합니다. 이것은 JMX 파일을 사용하는 것이 가장 좋습니다. –

2

jmeter-maven-plugin : http://wiki.apache.org/jmeter/JMeterMavenPlugin을 사용하십시오.

사실상 하나이며 (위에서 언급 한 @Ardesco와 마찬가지로) 설치가 필요하지 않으므로 JMeter 실행 파일이 설치된 위치와 그와 같은 모든 종류의 문제를 추상화 할 수 있습니다 ...아파치 플러그인에 경고의

2

말씀 (들) (lazerycode) :

  • 그것은 기본적으로 JMeter를 출력을 억제 것을 방지하기 위해 다음과 같은 구성 설정을 추가 :
<configuration> 
    <suppressJMeterOutput>false</suppressJMeterOutput> 
    <!-- to override debug logging from the plugin (although also in jmeter.properties) --> 
    <overrideRootLogLevel>debug</overrideRootLogLevel> 
    <jmeterLogLevel>DEBUG</jmeterLogLevel> 
</configuration> 
  • 소스 (버전 1.8.1)를 보면 -Xms 및 Xmx가 512

    으로 제한되어있는 것처럼 보입니다.
  • 플러그인이 예외를 삼켜 버리므로 테스트가 실패하지만 그 이유를 알 수 없습니다. 그들은 방금 완료했지만 결과를 제공하지 않은 것 같습니다.

  • jmeter mojo는 jmeter를 새 Java 프로세스로 시작하지만이 실행에 인수를 제공 할 수있는 용량을 제공하지 않습니다. 그래서 예외가 삼킨 경우 (위 참조), 로깅이 충분하지 않은 경우 (그렇지 않을 수도 있습니다) 무엇이 잘못되었는지 프로세스를 디버그하는 것은 쉽지 않습니다. 우리 (동료)는 프로세스 실행에 디버그 인수를 추가하고 jmeter 호출을 디버깅하여 찾아 냈습니다.

  • dev 용도로 jmeter를 직접 실행하여 유익한 결과를 얻을 수 있습니다. jmeter UI 출력에서 ​​훨씬 더 유익하다고 말할 수 있습니다.

나는 크로노스를 사용하지 않았습니다.

+0

버전 1.9.0에서 가지고있는 우려 사항을 제거해야합니다. 이제 -Xms 및 -Xmx를 구성 할 수 있습니다. JMeter가 시작된 JVM 프로세스에 인수를 추가 할 수도 있습니다. "플러그인이 예외를 삼킨다"는 것이 확실하지 않습니다. – Ardesco

+0

@Ardesco, 업데이트 주셔서 감사합니다. 우리는 그것을 조사 할 것입니다 ... 기회가 생길 때 예외가 삼켜 질 때를 검토해야 할 것입니다. – wmorrison365

0

JMeter Maven Plugin by @Ardesco JMeter 버전이 출시 될 때마다 업데이트됩니다. 매우 잘 문서화되어 완벽하게 작동합니다.

쉽게 설정할 수 있으며 JMeter-Plugins 또는 상업용 플러그인 같은 플러그인을 필요한 라이브러리만큼 추가 할 수 있습니다. 당신이 문서를 읽을 수 있도록 (2017 년 11 월로) 최신 버전 2.5.1에 ​​대한

:

당신은 이전 버전 1.1.10에 대한 설정을 보여주는 전체 블로그를 읽을 수 있습니다 :

관련 문제