14
Server Performance test tool - java-based - Chang-Hwan Han

Server performance test tool

Embed Size (px)

Citation preview

Page 1: Server performance test tool

Server Performance test tool- java-based -

Chang-Hwan Han

Page 2: Server performance test tool

2

JDK Tool

Performance test tool

Profiling Tool

Monitoring Tool

TroubleShooting Tool

Contents

Page 3: Server performance test tool

3

jstat◦ jvm 의 상황을 모니터링 하는 프로그램◦ Memory leak, 상태 확인

javap◦ 해당 클래스 파일 메소드 변수 정보 출력◦ 다른 사람의 자바 소스를 볼 때 유용

jstack◦ thrad dump 생성◦ Call stack, deadlock 정보 확인◦ kill - 3

jmap◦ Heap dump 생성◦ jvm 에 올라가 있는 모든 객체를 파일덤프로 남김◦ 운영 서버가 멈추었을 때만 사용할 것 ( 그냥 사용하면 서비스 장애로 연결 )

JDK Tool

Page 4: Server performance test tool

4

HP LoadRunner

Apache Bench

Apache Jmeter

nGrinder

Performance test tool

Page 5: Server performance test tool

5

HP LoadRunner◦ 국내 인력 많음◦ 다양한 시나리오에 대한 부하 테스트를 안정적으로 가능◦ 굉장히 비싼 가격 (300 유저 사용에 1 억 라이선스 )◦ 소켓 , 프로토콜 추가시 가격 상승

Performance test tool – HP LoadRunner

Page 6: Server performance test tool

6

Apache Bench

Performance test tool – Apache Bench

Page 7: Server performance test tool

7

Apache Jmeter◦ 툴 자체가 정밀하게 세팅을 해야함

Performance test tool – Apache Jmeter

Page 8: Server performance test tool

8

nGrinder◦ NHN 오픈소스◦ 기술지원 안되고 자료 부족

Performance test tool - nGrinder

Page 9: Server performance test tool

9

Profiling Tool

Profiling 정보는 대개가 프로그램 최적화를 보조하기 위해 사용 프로그램의 성능 , 메모리 사용량 , 코드 커버리지 등을 확인 가능 많은 성능 저하를 발생시켜서 로컬 개발자 PC 및 개발 서버에서 사용해야 함 Profiling tool

◦ Jprofiler (ej-technologies)◦ Java mission control◦ YourKit◦ Netbeans profiler◦ XRebel◦ DevPartner for Java◦ Jprobe (Quest)

Page 10: Server performance test tool

10

Profiling Tool - Which Java Profilers do you use?

Page 11: Server performance test tool

11

Monitoring Tool - APM : Application Performance Monitor

Jennifer WebTune Pharos

PINPOINT◦ https://github.com/naver/pinpoint◦ 네이버 오픈소스 소프트웨어

SCOUTER◦ https://github.com/scouter-project/scouter◦ LG CNS 오픈소스 소프트웨어

NewRelic◦ http://newrelic.com/

Page 12: Server performance test tool

12

Monitoring Tool - Which APMs do you use?

Page 13: Server performance test tool

13

TroubleShooting Tool

운영중인 시스템이 비정상적인 동작을 할때 , 원인을 찾기 위해 사용 어떤 장애가 발생했을 때 해당 장애와 관련된 자료를 수집하는 것이 가장 중요 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

Page 14: Server performance test tool

14

1. Top 5 Java Profilers Revealed: Real world data with Visu-alVM, 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/)

Reference