JVM Performance Optimizing 및 성능분석 사례 (Java Virtual Machine | 양장본 Hardcover)

JVM Performance Optimizing 및 성능분석 사례 (Java Virtual Machine | 양장본 Hardcover)

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

류길현

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

목차

“JVMInternal파헤치기”

1.JVM메모리구조
1.1JVM이란?ㆍㆍㆍㆍㆍㆍㆍ16
1.2JavaHeapㆍㆍㆍㆍㆍㆍㆍ19
1)HotspotJVM의Heap구조
2)IBMJVM의Heap구조

2.GarbageCollection
2.1GC소개ㆍㆍㆍㆍㆍㆍㆍ25
1)GC개요
2)GC로인한문제점
3)RootSet과Garbage
4)GarbageCollection목적
2.2HotspotJVM의GarbageCollectionㆍㆍㆍㆍㆍㆍㆍ29
1)개요
2)GC대상및범위
3)GC관련옵션들
4)GarbageCollector종류
2.3IBMJVM의GarbageCollectionㆍㆍㆍㆍㆍㆍㆍ53
1)GarbageCollection단계
2)GarbageCollector종류
3)IBMJVM환경의MemoryLeak유형
4)결론
2.4GC튜닝ㆍㆍㆍㆍㆍㆍㆍ69
1)GC튜닝필요성
2)GC튜닝목적
3)Object수최소화의중요성(BetweenEdenandOldArea)
4)FullGCTime줄이기
5)GC의성능을결정하는옵션
6)GC튜닝과정
7)일반적으로GC튜닝이불필요한상황
8)GC방식선택
9)Memory크기와GC상관관계
2.5GC성능테스트ㆍㆍㆍㆍㆍㆍㆍ74
1)개요
2)Case1
3)Case2/Case2-1
4)Case3
5)Case4
6)결론
2.6GC관련장애발생유형(OOME)및분석방법ㆍㆍㆍㆍㆍㆍㆍ91
1)OOME의종류
2)OOME발생원인및해결방법
3)OOME분석툴

3.JVMSychronization이란?
3.1개요ㆍㆍㆍㆍㆍㆍㆍ94
1)Java그리고Thread
2)Thread동기화
3)MutualExclusion과CriticalSection
4)Monitor
3.2Java의동기화(Synchronization)방법ㆍㆍㆍㆍㆍㆍㆍ96
1)SynchronizedStatement
2)synchronizedMethod
3)WaitAndNotify
4)synchronizedStatement와synchronizedMethod사용
3.3Thread상태ㆍㆍㆍㆍㆍㆍㆍ101
3.4Thread의종류ㆍㆍㆍㆍㆍㆍㆍ102
3.5JVM에서의대기현상분석ㆍㆍㆍㆍㆍㆍㆍ102
3.6ThreadDump 104
3.7Case별synchronized에대한ThreadDump분석ㆍㆍㆍㆍㆍㆍㆍ105
1)동기화방식별소스코드
2)HotSpotJVM실행분석
3)IBMJVM실행분석
3.8ThreadDump를통한Thread동기화문제해결의실사례ㆍㆍㆍㆍㆍㆍㆍ113

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

1.Java성능분석도구개요
1.1JDK내장성능분석도구ㆍㆍㆍㆍㆍㆍㆍ118
1.23rdParty성능분석도구ㆍㆍㆍㆍㆍㆍㆍ120

2.JVMThread,메모리정보
2.1ThreadDump와StackTrace정보ㆍㆍㆍㆍㆍㆍㆍ123
2.2Heap메모리구조ㆍㆍㆍㆍㆍㆍㆍ124
2.3HeapDump정보ㆍㆍㆍㆍㆍㆍㆍ126
2.4객체참조,GC와메모리누수ㆍㆍㆍㆍㆍㆍㆍ128

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

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

5.JConsoleㆍㆍㆍㆍㆍㆍㆍ188

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

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

8.IBMHeapAnalyzer
8.1IBMHeapAnalyzer사용되는용어정의ㆍㆍㆍㆍㆍㆍㆍ241
8.2Summaryㆍㆍㆍㆍㆍㆍㆍ242
8.3LeakSuspectㆍㆍㆍㆍㆍㆍㆍ243
8.4ObjectListㆍㆍㆍㆍㆍㆍㆍ247
8.5TypeListㆍㆍㆍㆍㆍㆍㆍ248
8.6RootList/RootTypeListㆍㆍㆍㆍㆍㆍㆍ249
8.7GapsbySize/GapStatisticsㆍㆍㆍㆍㆍㆍㆍ250

9.JavaThreadDumpAnalyzer(TDA)
9.1TDA사용하기ㆍㆍㆍㆍㆍㆍㆍ253
9.2TDA를이용한분석ㆍㆍㆍㆍㆍㆍㆍ256

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

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

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

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

출판사 서평

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

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

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