이미 소장하고 있다면 판매해 보세요.
|
Story 01 자바 기반 시스템에서 발생할 수 있는 문제점들
나불안씨 소개 어떤 문제들이 발생하나 장애 상황을 종합해서 다시 보자 발생 가능한 병목 지점들 정리하며 Story 02 쓰레드에서 발생하는 문제점들에는… WAS에서 적절한 쓰레드 개수는? 쓰레드로 인한 대표적인 문제들 락을 피할 수 있는 10가지 방법 끝나지 않는 루프 쓰레드 개수에 대한 권장안 정리하며 Story 03 쓰레드 단면 잘라 놓기 쓰레드 단면은 왜 만들까? 쓰레드 단면 해부하기 효과적인 쓰레드 단면 생성 방법 쓰레드 단면 파일로 남기기 정리하며 Story 04 잘라 놓은 쓰레드 단면 분석하기 TDA를 아시나요? TDA 사용하기-쓰레드 목록 확인 TDA 사용하기-잠겨있는 쓰레드 확인 TDA 사용하기-무한 루프나 응답 없는 화면 확인 실시간 쓰레드 분석을 위한 ThreadChecker 정리하며 Story 05 쓰레드 문제 Case study 쓰레드 단면으로 확인할 수 있는 문제들 쓰레드 때문에 시스템이 느려질까? 응답이 없으면 쓰레드 단면부터 봐야 예외가 계속 생겨도 쓰레드 분석이 해결책? 사례 하나-CPU 사용량이 갑자기 올라갔어요 사례 둘-쓰레드 풀이 계속 늘어나고 있어요 사례 셋-시스템에 응답이 없어요 정리하며 Story 06 메모리 때문에 이런 문제들이 발생할 수 있다 자바 애플리케이션과 메모리 영역 OutofMemoryError는 언제 일어날까? OutofMemoryError에 담긴 장애의 의미 메모리 릭의 3가지 유형 OutofMemoryError가 오류의 전부인가? 정리하며 Story 07 메모리 단면 잘라 놓기 메모리 단면은 언제 자르나? hprof로 메모리 단면 생성하기 jmap으로 메모리 단면 생성하기 jmap의 dump 옵션 사용하기 힙 덤프를 자동으로 만들어보자 정리하며 Story 08 잘라 놓은 메모리 단면 분석하기 유용한 메모리 단면 분석 툴 MAT를 직접 사용해보자 정리하며 Story 09 메모리 문제 Case study 메모리 단면으로 확인할 수 있는 문제들 사례 하나-성능 테스트 중 시스템이 이상해졌어요 사례 둘-시스템에 응답이 없어요 정리하며 Story 10 모니터링 툴의 사용-Java VisualVM Java VisualVM을 아시나요? Java VisualVM을 해부해보자 JMX로 Java VisualVM 연결하기 Java VisualVM, 어떻게 활용하나? 정리하며 Story 11 실시간 JVM 모니터링이 가능한 BTrace BTrace란? BTrace 설치하기 BTrace API 클래스 어노테이션은 필수 유용한 메소드 어노테이션들 BTrace 활용, 주요 클래스부터 챙기자 BTrace를 바로 실행하고 싶다면? 예외가 계속 일어나는 원인을 추적해보자 정리하며 Story 12 CPU 모니터링하기 CPU 사용량을 모니터링하는 툴들 보다 정교한 모니터링이 필요하다면 기본적인 mpstat 사용법 mpstat가 제공하는 옵션들 CPU 모니터링의 정석 정리하며 Story 13 전반적인 상황 모니터링하기-vmstat와 sar 팔방미인 모니터링 툴 vmstat 기본적인 vmstat 사용법 vmstat가 제공하는 옵션들 vmstat 옵션 활용 사례 상세한 정보를 보여주는 sar 기본적인 sar 사용법 sar가 제공하는 옵션들 정리하며 Story 14 프로세스 상황 모니터링하기 프로세스 모니터링 툴 소개 프로세스간 관계 알아보기 누구나 알고 있는 ps 명령어 프로세스별 CPU 사용량 모니터링하기 프로세스 메모리 구성을 확인하는 pmap 정리하며 Story 15 I/O 상황 모니터링하기 I/O 모니터링 툴 소개 디스크 사용량을 알아보자 iostat 사용하기 프로세스가 어떤 파일을 쓰는지 확인하려면 정리하며 Story 16 네트워크 상황 모니터링하기 네트워크 모니터링 툴 소개 네트워크 사용 환경 만들기 sar로 네트워크 사용량 확인하기 lsof로 연결된 네트워크 정보 확인하기 netstat으로 네트워크 살펴보기 정리하며 Story 17 실시간으로 시스템 모니터링하기 쉽고 강력한 top 명령어 top를 위한 단축 키들 top이 제공하는 시작 옵션들 top보다 간편한 htop 정리하며 Story 18 리소스 모니터링은 이거 하나면 된다 통합 모니터링 툴 소개 collectl 설치하기 collectl 사용하기 collectl로 수집한 데이터 전송 방법 collectd 설치하기 collectd에 적응하기 collectd로 여러 서버 정보 취합하기 정리하며 Story 19 장애 진단은 이렇게 한다 장애가 나면 이것부터 챙기자 본격적인 진단 시작하기 장애 원인 제거하고 결과 정리하기 정리하며 Story 20 문제점에 따른 진단은 이렇게 한다 시스템이 느리면 이렇게 응답이 없을 때는 이렇게 정리하며 부록 A 그 외에 유용한 명령어들 부록 B 쓰레드 단면 추가 옵션 출력 결과 예 부록 C 자바 컀스트럭션(instruction) 부록 D Fatal Error Log 분석 부록 E sar 옵션별 결과 예 부록 F VirtualBox에 우분투(Ubuntu) 설치하기 부록 G lsof 용어 설명 부록 H top 단축 키 |
이상민의 다른 상품
|
시스템에서 발생하는 문제의 원인을 진단하는
자바 트러블 슈팅 가이드 IT서비스가 기획되고 개발 및 운영으로 이어지기까지 여러 사람의 손을 거친다. 그러나 이렇게 많은 이들의 공이 들어간 IT서비스도 사소한 장애 하나 때문에 먹통이 되는 일이 빈번하게 일어난다. 서버도 애플리케이션도 모두 불완전한 사람의 손을 거쳐 만들어진다. 그런 만큼 그 어떤 시스템도 완벽하지 않다. 물론 사전 성능 테스트와 꾸준한 모니터링으로 중무장한다면 많은 이들이 흘린 땀의 흔적이 장애 때문에 허무하게 사라지지는 않을 것이다. 그러나 철저한 준비는 장애를 막기 위한 필요 조건일 뿐이다. 실제로 나름 준비 태세를 갖추고 시스템을 오픈했음에도 예상치 못한 장애로 인해 IT담당자들이 발을 동동 구르는 안타까운 장면이 심심치 않게 연출된다. 장애를 다루는 일을 성능 테스트나 튜닝의 양념 정도로 생각해서는 안 되는 이유다. 그렇다고 너무 낙심할 필요는 없다. 장애를 진단하는 방법만 알면 장애가 나는 것은 어쩔 수 없더라도 파장과 재발 가능성은 크게 줄일 수 있기 때문이다. 이제 시스템 장애가 발생했을 때 겁먹지 말자. 문제의 원인을 진단하는 방법이 이 책에 있다. |