본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

JVM Performance Optimizing 및 성능분석 사례 상세페이지

컴퓨터/IT 개발/프로그래밍

JVM Performance Optimizing 및 성능분석 사례

Java Virtual Machine
소장종이책 정가28,000
전자책 정가30%19,600
판매가19,600
JVM Performance Optimizing 및 성능분석 사례 표지 이미지

JVM Performance Optimizing 및 성능분석 사례작품 소개

<JVM Performance Optimizing 및 성능분석 사례> 웹 어플리케이션 개발자나 WAS Middleware 성능 튜닝 엔지니어, APM 솔루션을 통한 성능 진단 컨설턴트들을 위한 필독서

“웹(JAVA) 개발자가 JVM의 내부 구조에 대해 좀 더 쉽게 이해하고 관련 옵션들을 최적화하여사용할 수 있는 방법은 없을까”? “WAS 기반의 Middleware를 운영하면서 OutOfMemory나 Thread Dump 등이 발생했을 때 분석하는 방법이나 가이드, 또한 용이한 분석 툴은 뭐가 있을까”? “JAVA 애플리케이션 시스템을 운영하는 운영자나 성능 진단하는 엔지니어, 컨설턴트가 접할 수 있는 흔한 장애 유형이나 분석 방법은 무엇이 있을까”? 하는 물음에 이 책이 해답을 줄 것이다. 벤더별 JVM 내부의 구조를 파악하고 웹 애플리케이션 개발시 최대의 Performace를 위해 고려해 할 주의점이나 최적화 방안 등을 위해 다양한 분석 툴을 소개하고, 실제 고객사에서 발생된 성능 지연 사례나 장애 유형 등의 분석 사례를 통하여 성능 튜닝을 하는 방법에 대해 다양한 관점에서 알아 볼 수 있다!


출판사 서평

[도서 특징]
- JVM에 대한 상세 분석과 다양한 옵션들에 대한 정리를 일목 요연하게 설명하고 있습니다.
- 실 고객사 성능 지연 사례를 통하여 분석하는 방법론을 제시하고 있습니다.
- 추가적인 내용은 엑셈 아카데미 온라인 사이트에서 질문을 상세히 답변해드립니다.


웹 애플리케이션 Developer, WAS 시스템을 관리/운영하는 System Engineer, Performance Tunner 등 JVM 내부 구조를 명확히 이해하고 다양한 성능 옵션들을 유용하게 사용할 수 있도록 가이드 및 최적화 적용 방안 등을 제시하고 있다. 특히 실무 경험을 바탕으로 웹 애플리케이션 환경에서의 성능을 최적화 하고 튜닝할 수 있는 다양한 성능 분석 툴들과 각 툴들의 특징을 잘 분석/제시하고 있어 필요한 요소와 기능에 따라 원하는 방법론으로 빨리 접근할 수 있는 지침이 될 수 있을 것 같다. JAVA 성능 튜닝에 관심이 있거나 성능 진단 컨설턴트들에겐 큰 도움이 될 것이라 자부한다.


[대상 독자]
- 웹 애플리케이션 개발자(JAVA, WAS 등 환경)
- WAS 시스템을 관리하는 IT 운영자(WAS Middleware 운영자)
- 웹 애플리케이션에 대한 성능 튜닝 및 최적화에 관심 있는 엔지니어
- 다양한 APM 솔루션 등을 통한 고객사 성능 분석 및 진단하는 컨설턴트


저자 프로필

류길현

  • 경력 ㈜엑셈 APM본부 총괄

2023.11.27. 업데이트 작가 프로필 수정 요청

現 엑셈 APM사업본부 총괄 책임을 맡고 있으며, WAS를 비롯한 다양한 Middleware에 대한 구축 경험과 노하우를 바탕으로 APM 제품에 대한 핵심 엔진 설계와 제품 개발에 기여하였으며, InterMax와 같은 APM 솔루션을 통한 다양한 고객사 성능 분석 및 진단 컬설팅을 수행하고 있습니다.


저자 소개

저 : 류길현
現 엑셈 APM사업본부 총괄 책임을 맡고 있으며, WAS를 비롯한 다양한 Middleware에 대한 구축 경험과 노하우를 바탕으로 APM 제품에 대한 핵심 엔진 설계와 제품 개발에 기여하였으며, InterMax와 같은 APM 솔루션을 통한 다양한 고객사 성능 분석 및 진단 컬설팅을 수행하고 있습니다.

저 : 오명훈
한국 HP에서 다수의 고객사에 IT컨설팅 및 SI 업무를 수행하였으며, 현재는 엑셈 APM본부에서 Java 성능관리 솔루션인 InterMax의 기술지원을 담당하고 있다. 또한 대학생을 대상으로 Java 세미나를 진행하였으며, 네이버에 Java 온라인 강의 포스팅 및 “Java를 잡아버려”를 저술하였습니다.

저 : 한승민
現 엑셈 APM사업본부에서 InterMax 솔루션 기술지원 팀장을 맡고 있으며, 금융권-차세대 프로젝트 등 대규모 APM 성능 관리 솔루션에 대한 구축/커스터마이징 등에 대한 실무 경험과 InterMax를 통한 고객사 성능 분석 및 진단 컨설팅 업무를 수행하고 있습니다.

목차

도서 목차
“JVM Internal 파헤치기”


1. JVM 메모리 구조
1.1 JVM이란? ㆍㆍㆍㆍㆍㆍㆍ 16
1.2 Java Heap ㆍㆍㆍㆍㆍㆍㆍ 19
1) Hotspot JVM의 Heap 구조
2) IBM JVM의 Heap 구조


2. Garbage Collection
2.1 GC 소개 ㆍㆍㆍㆍㆍㆍㆍ 25
1) GC 개요
2) GC로 인한 문제점
3) Root Set과 Garbage
4) Garbage Collection 목적
2.2 Hotspot JVM의 Garbage Collection ㆍㆍㆍㆍㆍㆍㆍ 29
1) 개요
2) GC 대상 및 범위
3) GC 관련 옵션들
4) Garbage Collector 종류
2.3 IBM JVM의 Garbage Collection ㆍㆍㆍㆍㆍㆍㆍ 53
1) Garbage Collection 단계
2) Garbage Collector 종류
3) IBM JVM 환경의 Memory Leak 유형
4) 결론
2.4 GC 튜닝 ㆍㆍㆍㆍㆍㆍㆍ 69
1) GC 튜닝 필요성
2) GC 튜닝 목적
3) Object 수 최소화의 중요성(Between Eden and Old Area)
4) Full GC Time 줄이기
5) GC의 성능을 결정하는 옵션
6) GC 튜닝 과정
7) 일반적으로 GC 튜닝이 불필요 한 상황
8) GC 방식 선택
9) Memory 크기와 GC 상관 관계
2.5 GC 성능 테스트 ㆍㆍㆍㆍㆍㆍㆍ 74
1) 개요
2) Case 1
3) Case 2 / Case 2-1
4) Case 3
5) Case 4
6) 결론
2.6 GC 관련 장애 발생 유형(OOME) 및 분석 방법 ㆍㆍㆍㆍㆍㆍㆍ 91
1) OOME의 종류
2) OOME 발생 원인 및 해결 방법
3) OOME 분석 툴


3. JVM Sychronization이란?
3.1 개요 ㆍㆍㆍㆍㆍㆍㆍ 94
1) Java 그리고 Thread
2) Thread 동기화
3) Mutual Exclusion과 Critical Section
4) Monitor
3.2 Java의 동기화(Synchronization) 방법 ㆍㆍㆍㆍㆍㆍㆍ 96
1) Synchronized Statement
2) synchronized Method
3) Wait And Notify
4) synchronized Statement와 synchronized Method 사용
3.3 Thread 상태 ㆍㆍㆍㆍㆍㆍㆍ 101
3.4 Thread의 종류 ㆍㆍㆍㆍㆍㆍㆍ 102
3.5 JVM에서의 대기 현상 분석 ㆍㆍㆍㆍㆍㆍㆍ 102
3.6 Thread Dump 104
3.7 Case별 synchronized에 대한 Thread Dump 분석 ㆍㆍㆍㆍㆍㆍㆍ 105
1) 동기화 방식별 소스 코드
2) Hot Spot JVM 실행 분석
3) IBM JVM 실행 분석
3.8 Thread Dump를 통한 Thread 동기화 문제 해결의 실 사례 ㆍㆍㆍㆍㆍㆍㆍ 113




“도구(Tool)를 이용한 성능분석”


1. Java 성능분석 도구 개요
1.1 JDK 내장 성능분석 도구 ㆍㆍㆍㆍㆍㆍㆍ 118
1.2 3rd Party 성능분석 도구 ㆍㆍㆍㆍㆍㆍㆍ 120


2. JVM Thread, 메모리 정보
2.1 Thread Dump와 Stack Trace 정보 ㆍㆍㆍㆍㆍㆍㆍ 123
2.2 Heap 메모리 구조 ㆍㆍㆍㆍㆍㆍㆍ 124
2.3 Heap Dump 정보 ㆍㆍㆍㆍㆍㆍㆍ 126
2.4 객체 참조, GC와 메모리 누수 ㆍㆍㆍㆍㆍㆍㆍ 128


3. jcmd
3.1 jcmd를 이용하여 Java 프로세스 정보 확인하기 ㆍㆍㆍㆍㆍㆍㆍ 129
3.2 Java Flight Recording 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 134
3.3 GC 메모리 분석 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 146
3.4 Management Agent(JMX) 기능 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 149
3.5 jcmd 도구 vs 다른 도구 비교 ㆍㆍㆍㆍㆍㆍㆍ 152


4. Java Mission Control 도구의 활용
4.1 실시간 모니터링 ㆍㆍㆍㆍㆍㆍㆍ 154
4.2 Java Flight Recorder 레코딩하기 ㆍㆍㆍㆍㆍㆍㆍ 161
4.3 General 정보 ㆍㆍㆍㆍㆍㆍㆍ 164
4.4 Memory 정보 ㆍㆍㆍㆍㆍㆍㆍ 168
4.5 Code 정보 ㆍㆍㆍㆍㆍㆍㆍ 176
4.6 Threads 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 177
4.7 IO 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 181
4.8 System 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 182
4.9 Events 정보 보기 ㆍㆍㆍㆍㆍㆍㆍ 184


5. JConsole ㆍㆍㆍㆍㆍㆍㆍ 188


6. VisualVM
6.1 Monitor 탭 ㆍㆍㆍㆍㆍㆍㆍ 195
6.2 Heap Dump 내용 보기 ㆍㆍㆍㆍㆍㆍㆍ 195
6.3 Threads 탭 ㆍㆍㆍㆍㆍㆍㆍ 197
6.4 Profiler 수행하기 ㆍㆍㆍㆍㆍㆍㆍ 200
6.5 Sampler 수행하기 ㆍㆍㆍㆍㆍㆍㆍ 201
6.6 MBeans Plugin으로 JMX 모니터링하기 ㆍㆍㆍㆍㆍㆍㆍ 202
6.7 Visual GC Plugin 기능 덧입기 ㆍㆍㆍㆍㆍㆍㆍ 205
6.8 JConsole Plugin기능을 VisualVM에서 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 206


7. Eclipse Memory Analyzer (MAT)
7.1 MAT 설치하기 ㆍㆍㆍㆍㆍㆍㆍ 209
7.2 HeapDump 분석 방법 ㆍㆍㆍㆍㆍㆍㆍ 212
7.3 HeapDump 파일 열기 ㆍㆍㆍㆍㆍㆍㆍ 214
7.4 객체 참조관계 분석 ㆍㆍㆍㆍㆍㆍㆍ 215
7.5 ClassLoader 누수 분석 (PermGen이슈) ㆍㆍㆍㆍㆍㆍㆍ 224
7.6 객체를 사용하는 Thread 분석 ㆍㆍㆍㆍㆍㆍㆍ 224
7.7 Collection 분석 ㆍㆍㆍㆍㆍㆍㆍ 225
7.8 Dominator Tree 분석 ㆍㆍㆍㆍㆍㆍㆍ 227
7.9 Leak Suspects 분석 ㆍㆍㆍㆍㆍㆍㆍ 229
7.10 Heap Dump 파일 비교 분석 ㆍㆍㆍㆍㆍㆍㆍ 237


8. IBM HeapAnalyzer
8.1 IBM HeapAnalyzer 사용되는 용어 정의 ㆍㆍㆍㆍㆍㆍㆍ 241
8.2 Summary ㆍㆍㆍㆍㆍㆍㆍ 242
8.3 Leak Suspect ㆍㆍㆍㆍㆍㆍㆍ 243
8.4 Object List ㆍㆍㆍㆍㆍㆍㆍ 247
8.5 Type List ㆍㆍㆍㆍㆍㆍㆍ 248
8.6 Root List / Root Type List ㆍㆍㆍㆍㆍㆍㆍ 249
8.7 Gaps by Size/ Gap Statistics ㆍㆍㆍㆍㆍㆍㆍ 250


9. Java Thread Dump Analyzer(TDA)
9.1 TDA 사용하기 ㆍㆍㆍㆍㆍㆍㆍ 253
9.2 TDA를 이용한 분석 ㆍㆍㆍㆍㆍㆍㆍ 256


10. 성능분석 도구들 비교 ㆍㆍㆍㆍㆍㆍㆍ 261




“APM(InterMax) 활용 성능 분석 사례”


1. InterMax란 무엇인가?
1.1 실시간 모니터링 ㆍㆍㆍㆍㆍㆍㆍ 264
1.2 사후 분석 ㆍㆍㆍㆍㆍㆍㆍ 272
1.3 트랜잭션 조회 ㆍㆍㆍㆍㆍㆍㆍ 278


2. 성능 분석 사례
2.1 과도한 SQL Fetch에 의한 OOME 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 283
2.2 Full GC 수행에 따른 애플리케이션 수행 지연 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 287
2.3 특정 오브젝트의 메모리 과다 사용으로 인한 OOME 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 291
2.4 소켓 타임아웃에 의한 서비스 지연 발생 사례 ㆍㆍㆍㆍㆍㆍㆍ 294
2.5 Exception이 발생하며 서비스 수행에 실패하는 사례 ㆍㆍㆍㆍㆍㆍㆍ 298
2.6 SQL 수행 지연에 따른 애플리케이션 지연 현상 분석 사례 ㆍㆍㆍㆍㆍㆍㆍ 300
2.7 DB Lock에 의한 애플리케이션 지연 현상 분석 사례 ㆍㆍㆍㆍㆍㆍㆍ 304


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
앱으로 연결해서 다운로드하시겠습니까?
닫기 버튼
대여한 작품은 다운로드 시점부터 대여가 시작됩니다.
앱으로 연결해서 보시겠습니까?
닫기 버튼
앱이 설치되어 있지 않으면 앱 다운로드로 자동 연결됩니다.
모바일 버전