2013-10-10 7 views
0

모두로드/스트레스 테스트 자바 애플리케이션

우리는 HTTP 서블릿, EJB 및 POJO를 기반으로하는 Java 애플리케이션을 보유하고 있습니다. 클라이언트는 HTTPServlet을 사용하여 응용 프로그램에 액세스하고 응용 프로그램은 웹 서비스를 사용합니다.

로드, 스레드 안전성 및 응답 시간을 테스트하려면이 애플리케이션을 테스트해야합니다. 웹 서비스는 HTTPURLConnection API 및 JAXB API를 사용하여 소비됩니다. JAXB 마샬링/언 마샬링으로

스레드 안전 문제 테스트 및 스레드 안전

내가 트랜잭션의 수를 지정하여 애플리케이션 부하 테스트 보았다

스레드의 어떤을로드 할 필요가있다. 나뿐만 아니라 내 응용 프로그램에 동일한 작업을 수행 할

조언의 모든 조각은 정말

+0

실제 질문을하지 않은 것 같습니다. 일반 조언 요청은 대개 스택 교환 형식에 맞지 않습니다. 여기에서 시작하는 것이 좋습니다 : http://grinder.sourceforge.net/ – Affe

답변

1

예, JMeter를 사용하여 모든 동시성 문제를 찾을 수 있을지는 모르겠지만 JMeter를 사용하여 응답 시간을 테스트 할 수 있습니다. JMeter는 애플리케이션을로드 테스트하는 데 유용 할 수 있지만 다음을 기억하십시오.

1 테스트에서 실제 사용 사례를 복제하는지 확인하십시오.

  1. 동일한 상자에서 응용 프로그램과 JMeter를 실행하고 있지 않습니다.

  2. 현실적인 신규 및 기존 데이터를 사용하고 있습니다.

동시성에 대한 테스트 작성은 매우 까다로울 수 있습니다. 더 좋은 방법은 알려진 안전하지 않은 클래스를 사용하는 코드를 매우 조심스럽게 검사하는 것입니다.예를 들어, JAXB의 해결 방법은 지역 변수를 사용하여 모든 요청 처리기에 새로운 Unmarashaller를 생성하는 것입니다. 가능한 경우 다른 라이브러리를 사용하는 것이 더 좋을 수도 있도록

public void handler(HttpServletRequest req) { 
    Unmarshaller u = context.createUnmarshaller(); 
    u.unmarshal(...); 
} 

예를

를 들어

는 분명히 이것은 성능 문제가 있습니다. 스레드로부터 안전하지 않은 코드를 배포하면 버그를 재현하기가 매우 어려워집니다.

동시 통합 테스트를 작성하려면 먼저 생각보다 좋은 테스트를 작성하는 것이 훨씬 어렵 기 때문에 12 장 동시 실행 Java 동시성 테스트를 읽으십시오.

1

사용 Apache JMeter를 감사 :

아파치 JMeter를 ™ 데스크톱 응용 프로그램 오픈 소스 소프트웨어, 100 % 순수 테스트 기능 동작을로드하고 성능을 측정하도록 설계된 Java 응용 프로그램입니다. 원래 웹 응용 프로그램을 테스트하기 위해 설계되었지만 다른 테스트 기능으로 확장되었습니다.

1

GrinderApache JMeter™을 비교하면 테스트 계획을 세우기위한 GUI 때문에 JMeter를 선택했습니다. 학습 곡선은 단순합니다 - 간단한 시나리오를 쉽게 만들 수 있습니다.

자이 썬에서 인쇄물 테스트 계획을 작성해도 괜찮 으면 도구가 꽤 가까운 것 같습니다. 두

  • 가지고 더 analisys 텍스트/XML 보고서를 만들 수 있습니다 (스트레스 테스트에 대한 있어야합니다) 분산 테스트를 실행하고 조정하는 GUI를 구축-에보고 플러그인

팔로우 jMeter의 스트레스 테스트에 대한 링크와 결과를 시각화하기위한 더 나은 플러그인에 대한 링크는 how-to-get-my-website-load-test-with-jmeter입니다.

대용량 데이터 집합 (> 100.000 항목)의 기본 그래프 플러그인에 성능 문제가있었습니다. Suggestions and Recipes for Log Analysis에 따라 이러한 데이터 볼륨에 대한 그래프를 만드는 방법