2014-11-20 2 views
0

우선이 모든 사항이 이미 제기되었지만 어디서나 찾을 수없는 경우 우선하십시오.jmeter 병목 현상이 있습니까?

다음은 시나리오입니다.

저는 8GB의 리눅스 물리적 상자에 8GB의 메모리가 있습니다.이 곳에서 http://www.xpto.com/info.php에 대한 간단한 HTTP jmeter 테스트를 실행하면 일반적인 PHP 정보 페이지를 얻을 수 있습니다. 요약 = 177665 158s의 = 1122.5/s의 평균에 - : 8 분 : 4 최대 : 217 메시지 : 0 (0.00 %)

나는 하나의 VM에 대한 10 개 스레드로 검사를 실행할 경우

나는의 결과를 얻을 수

이제 같은 테스트를하지만 40 개의 스레드가있는 VMS에서 결과가 외삽되지 않으므로 결과는 다음과 같습니다. - 요약 = 538859 in 338s = 1584.6/s 평균 : 24 최소 : 2 최대 : 155 오류 : 0 (0.00 %)

4 개의 VM은 서로 다른 하이퍼 바이저에 있으므로 서로 충돌하지 않습니다. VMS는 8GB의 mem 및 8CPUS의 SL6.4입니다.

jmeter 상자에서 볼 수 있듯이 여유 메모리가 충분하고 메모리 부족 오류가없고 Java 프로세스가 CPU의 80 %를 사용하고 있음을 알 수 있습니다. jmeter 상자의 부하는 92 % cpu idle으로 0.5입니다.

질문은 이것이 jmeter 병목 현상 일 수 있다고 생각합니까? 다른 URL과 비교할 때 어떤 테스트를 거쳐서 이런 종류의 결과를 얻었습니다.

도움 주셔서 감사합니다.

--joao

답변

-1

여기에 직접적인 대답은, 단지 몇 가지 제안 :

  • 실행 이상 시험, 최소 20 ~ 30 분은 항상 따뜻한을 실행 의미있는 통계
  • 을 가지고 가정 해 봅시다 실제 시험 전에
  • 조정 제대로 JVM을 실행 여기에 좋은 출발점을 CPU의 http://www.ubik-ingenierie.com/blog/jmeter_performance_tuning_tips/
  • 80 %보다는 높다 이 첫 번째 또는 두 번째 테스트

챠오

+0

어떻게 1584.6/4가 1122.5보다 우수할까요? – CharlieS

+0

숫자가 너무 명확하지 않습니다. 어쨌든 마지막 두 점은 여전히 ​​적용됩니다. 안부 – sbos61

+0

안부가 명확하지 않습니까? 그들은 표준 성능 메트릭, TPS 및 응답 시간처럼 보였습니다. – CharlieS

0

당신이 가능하여 JMeter 클라이언트에서 서버를 공격하기 전에 현재 병목 현상이 발생 표시의 경우라면, 그것은 분명하지 않다. 원인을 판별하는 것이 항상 쉬운 것은 아니며 JVM 제한 일 수 있습니다. jconsole 또는 jvisualvm을 사용하여 더 많은 단서를 얻을 수 있습니다. 또한 서버에 도달하기 전에 사물에 영향을 미칠 수있는 대역폭 및 기타 한계를 확인하십시오.

서버가 공통 DB를 사용합니까? 또는 일반적인 로그? 당신이 클라이언트를 비난하기 전에 다른 모든 것을 제외했는지 확인하십시오.

JMeter가 병목 현상인지 테스트하기 쉽습니다. 동시에 다른 클라이언트에서 서버를로드하고 이것이 jmeter 클라이언트 결과에 영향을 미치는지 확인하십시오.

중량이 큰 클라이언트 상자를 사용하면 로컬 호스트에 분산 슬레이브를 실행하는 것이 더 좋을 수 있으므로 각 자체 리소스가있는 JVM이 더 많습니다.

JMeter 클라이언트는 확장 성이 좋지 않으므로 분산 테스트가 유용합니다.클라이언트는 서버에 가중되는 부하를 계속 유지할 수있는 한 비례 배분할 필요가 없으며 측정 할 수 있습니다.

관련 문제