Server Performance test tool
- java-based -
Chang-Hwan Han
 JDK Tool
 Performance test tool
 Profiling Tool
 Monitoring Tool
 TroubleShooting Tool
2
 jstat
◦ jvm의 상황을 모니터링 하는 프로그램
◦ Memory leak, 상태 확인
 javap
◦ 해당 클래스 파일 메소드 변수 정보 출력
◦ 다른 사람의 자바 소스를 볼 때 유용
 jstack
◦ thrad dump 생성
◦ Call stack, deadlock 정보 확인
◦ kill - 3
 jmap
◦ Heap dump 생성
◦ jvm에 올라가 있는 모든 객체를 파일덤프로 남김
◦ 운영 서버가 멈추었을 때만 사용할 것 (그냥 사용하면 서비스 장애로 연결)
3
 HP LoadRunner
 Apache Bench
 Apache Jmeter
 nGrinder
4
 HP LoadRunner
◦ 국내 인력 많음
◦ 다양한 시나리오에 대한 부하 테스트를 안정적으로 가능
◦ 굉장히 비싼 가격 (300 유저 사용에 1억 라이선스)
◦ 소켓, 프로토콜 추가시 가격 상승
5
 Apache Bench
6
 Apache Jmeter
◦ 툴 자체가 정밀하게 세팅을 해야함
7
 nGrinder
◦ NHN 오픈소스
◦ 기술지원 안되고 자료 부족
8
9
 Profiling 정보는 대개가 프로그램 최적화를 보조하기 위해 사용
 프로그램의 성능, 메모리 사용량, 코드 커버리지 등을 확인 가능
 많은 성능 저하를 발생시켜서 로컬 개발자 PC 및 개발 서버에서 사용해야 함
 Profiling tool
◦ Jprofiler (ej-technologies)
◦ Java mission control
◦ YourKit
◦ Netbeans profiler
◦ XRebel
◦ DevPartner for Java
◦ Jprobe (Quest)
10
11
 Jennifer
 WebTune
 Pharos
 PINPOINT
◦ https://github.com/naver/pinpoint
◦ 네이버 오픈소스 소프트웨어
 SCOUTER
◦ https://github.com/scouter-project/scouter
◦ LG CNS 오픈소스 소프트웨어
 NewRelic
◦ http://newrelic.com/
12
13
 운영중인 시스템이 비정상적인 동작을 할때, 원인을 찾기 위해 사용
 어떤 장애가 발생했을 때 해당 장애와 관련된 자료를 수집하는 것이 가장 중요
 MAT (Eclipse Memory Analyzer)
◦ http://www.eclipse.org/mat/
 IBM HeapAnalyzer
 BTrace
◦ 특정 장비에서만 이상이 있을때 , 실시간 운영중인 서버에 접속해서 확인 가능
◦ https://kenai.com/projects/btrace/pages/UserGuide
◦ http://d2.naver.com/helloworld/9042309
1. Top 5 Java Profilers Revealed: Real world data with
VisualVM, JProfiler, Java Mission Control, YourKit and
Custom
tooling.(https://zeroturnaround.com/rebellabs/top-5-
java-profilers-revealed-real-world-data-with-visualvm-
jprofiler-java-mission-control-yourkit-and-custom-
tooling/)
2. Java Tools and Technologies Landscape Report 2016
(https://zeroturnaround.com/rebellabs/java-tools-and-
technologies-landscape-2016/)
14

Server performance test tool

  • 1.
    Server Performance testtool - java-based - Chang-Hwan Han
  • 2.
     JDK Tool Performance test tool  Profiling Tool  Monitoring Tool  TroubleShooting Tool 2
  • 3.
     jstat ◦ jvm의상황을 모니터링 하는 프로그램 ◦ Memory leak, 상태 확인  javap ◦ 해당 클래스 파일 메소드 변수 정보 출력 ◦ 다른 사람의 자바 소스를 볼 때 유용  jstack ◦ thrad dump 생성 ◦ Call stack, deadlock 정보 확인 ◦ kill - 3  jmap ◦ Heap dump 생성 ◦ jvm에 올라가 있는 모든 객체를 파일덤프로 남김 ◦ 운영 서버가 멈추었을 때만 사용할 것 (그냥 사용하면 서비스 장애로 연결) 3
  • 4.
     HP LoadRunner Apache Bench  Apache Jmeter  nGrinder 4
  • 5.
     HP LoadRunner ◦국내 인력 많음 ◦ 다양한 시나리오에 대한 부하 테스트를 안정적으로 가능 ◦ 굉장히 비싼 가격 (300 유저 사용에 1억 라이선스) ◦ 소켓, 프로토콜 추가시 가격 상승 5
  • 6.
  • 7.
     Apache Jmeter ◦툴 자체가 정밀하게 세팅을 해야함 7
  • 8.
     nGrinder ◦ NHN오픈소스 ◦ 기술지원 안되고 자료 부족 8
  • 9.
    9  Profiling 정보는대개가 프로그램 최적화를 보조하기 위해 사용  프로그램의 성능, 메모리 사용량, 코드 커버리지 등을 확인 가능  많은 성능 저하를 발생시켜서 로컬 개발자 PC 및 개발 서버에서 사용해야 함  Profiling tool ◦ Jprofiler (ej-technologies) ◦ Java mission control ◦ YourKit ◦ Netbeans profiler ◦ XRebel ◦ DevPartner for Java ◦ Jprobe (Quest)
  • 10.
  • 11.
    11  Jennifer  WebTune Pharos  PINPOINT ◦ https://github.com/naver/pinpoint ◦ 네이버 오픈소스 소프트웨어  SCOUTER ◦ https://github.com/scouter-project/scouter ◦ LG CNS 오픈소스 소프트웨어  NewRelic ◦ http://newrelic.com/
  • 12.
  • 13.
    13  운영중인 시스템이비정상적인 동작을 할때, 원인을 찾기 위해 사용  어떤 장애가 발생했을 때 해당 장애와 관련된 자료를 수집하는 것이 가장 중요  MAT (Eclipse Memory Analyzer) ◦ http://www.eclipse.org/mat/  IBM HeapAnalyzer  BTrace ◦ 특정 장비에서만 이상이 있을때 , 실시간 운영중인 서버에 접속해서 확인 가능 ◦ https://kenai.com/projects/btrace/pages/UserGuide ◦ http://d2.naver.com/helloworld/9042309
  • 14.
    1. Top 5Java Profilers Revealed: Real world data with VisualVM, JProfiler, Java Mission Control, YourKit and Custom tooling.(https://zeroturnaround.com/rebellabs/top-5- java-profilers-revealed-real-world-data-with-visualvm- jprofiler-java-mission-control-yourkit-and-custom- tooling/) 2. Java Tools and Technologies Landscape Report 2016 (https://zeroturnaround.com/rebellabs/java-tools-and- technologies-landscape-2016/) 14

Editor's Notes

  • #5 어느 정도 틀이 갖춰진 조직이나, 예산이 충분한 경우에는 뒤도 안 돌아보고 파트너 불러다가 Load Runner돌린다.- 조대협 블로그에서.. -
  • #13 APPDYNAMICS Dynatrace Wily zipkin