본문 바로가기

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

실무로 배우는 시스템 성능 최적화 상세페이지

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

실무로 배우는 시스템 성능 최적화

시스템 동작 분석부터 성능 개선까지
소장종이책 정가42,000
전자책 정가29%30,000
판매가30,000
실무로 배우는 시스템 성능 최적화 표지 이미지

실무로 배우는 시스템 성능 최적화작품 소개

<실무로 배우는 시스템 성능 최적화> 시스템 최적화 전문가의 15년 노하우를 4년간 정리!

이 책은 시스템 최적화 전문가가 15년간의 실무 경험을 바탕으로 4년간의 노력 끝에 완성한, 시스템 운영자와 애플리케이션 개발자를 대상으로 한 성능 개선에 대한 종합적이고 체계적인 가이드이다. 저자가 실제 경험한 성능 개선 사례를 통해 프로젝트에서 발생하는 성능 저하 유형과 분석 기법을 설명한다.


저자 소개

권문수
부산대학교를 졸업하고 1996년부터 LG CNS에 근무하면서 15년간 시스템 문제해결 및 성능 개선 전문가로 활동하고 있다. 카드, 보험, 은행 등 다수의 금융 차세대 구축 프로젝트에서 성능 개선을 담당했으며, 공공 서비스, 국방, 공장 자동화, 교통, 통신, 물류 등 다양한 분야에 대한 성능 개선 경험을 보유하고 있다. 성능 개선 노하우를 바탕으로 오픈소스 APM 도구인 스카우터(Scouter)의 개발자로도 참여하고 있다.

목차

[1부] 성능 기초

▣ 1장: 성능이란?
1.1 동시 사용자
1.2 처리량
1.3 응답시간
1.4 자원
___1.4.1 적정성
___1.4.2 효율성
___1.4.3 안정성
___1.4.4 가용성
___1.4.5 확장성

▣ 2장: 성능 특성
2.1 성능 곡선
2.2 성능에 대한 이해

▣ 3장: 성능 이론
3.1 기초 성능 이론
3.2 사용률 이론
3.3 비율 분석

▣ 4장: 성능 테스트
4.1 성능 테스트 유형
4.2 성능 테스트 구성 요소
4.3 성능 테스트 시 주의사항
___4.3.1 테스트 데이터
___4.3.2 화면 처리시간
___4.3.3 네트워크
___4.3.4 가상 사용자 특성
___4.3.5 업무 시나리오
___4.3.6 대상 업무와 성능 개선

[2부] 성능 개선

▣ 1장: 기본 자세

▣ 2장: 성능 분석 시작하기
2.1 애플리케이션 서버 응답시간 분석
2.2 클라이언트 응답시간 분석

▣ 3장: 상황별 분석 단계
3.1 화면 응답시간 저하
3.2 시스템 내 응답시간 저하
3.3 서비스 멈춤 현상
3.4 시스템 전반에 걸친 성능 개선
3.5 서버 자원 사용량 확인
3.6 CPU 과다 사용 분석
3.7 메모리 과다 사용 분석
3.8 디스크 과다 사용 분석

▣ 4장: 개선 방향성

[3부] 화면 응답시간 분석

▣ 1장: 기본 방향

▣ 2장: HTTP의 이해
2.1 프로토콜 구조
2.2 HTTP 요청
2.3 HTTP 응답
2.4 데이터 송수신

▣ 3장: 화면 응답시간 모니터링
3.1 화면 응답시간 모니터링 도구
3.2 인터넷 익스플로러 프로파일링
3.3 피들러
3.4 HTTP 분석 접근

▣ 4장: 웹 기반 시스템 성능 개선
4.1 화면 콘텐츠 구성
___4.1.1 콘텐츠 수 축소
___4.1.2 크기별 이미지 준비
___4.1.3 이미지 콘텐츠 파일의 크기 축소
___4.1.4 CDN 사용
___4.1.5 텍스트 콘텐츠의 크기 축소
___4.1.6 압축 적용
___4.1.7 웹 가속기
4.2 캐시 동작
___4.2.1 브라우저 캐시
4.3 병렬/비동기 처리
___4.3.1 네트워크 연결 증가
___4.3.2 AJAX와 DOM을 이용한 비동기 처리
4.4 기타 성능 개선
4.5 웹 서버 설정
___4.5.1 최대 병렬 처리 수
___4.5.2 Keepalive

▣ 5장: 웹 서버 모니터링
5.1 웹 요청 응답시간 모니터링
5.2 웹 서버 성능 모니터링

▣ 6장: HTTPS

[4부] 프로세스 이해하기

▣ 1장: 기본 방향

▣ 2장: 수행 중인 코드
2.1 스택에 대한 이해
2.2 스택 정보를 이용한 성능 분석
___2.2.1 스택 대기 분석
___2.2.2 교착상태
___2.2.3 스택 성능 분석
2.3 스택 수집
2.4 프로세스 스택 분석 도구
___2.4.1 환경설정
___2.4.2 주요 기능 설명
___2.4.3 SDPA를 이용한 성능 분석

▣ 3장: 통신/파일 상태
3.1 파일 지시자의 이해
3.2 연계 통신/파일 상태 정보를 수집하는 방법

▣ 4장: 통신/파일 간 동작
4.1 시스템 콜에 대한 이해
4.2 통신/파일 상태와 동작 연계 분석
4.3 스택 정보와 통신/파일 간 동작 연계 분석
4.4 통신/파일 간 동작 모니터링 방법

▣ 5장: 기타
5.1 프로그램 소스코드 보기
5.2 바이너리 코어 덤프에서 자바 스택이나 힙 정보를 추출하는 방법
5.3 프로세스의 현재 작업 디렉터리를 확인하는 법
5.4 프로그램에서 사용하는 공유 라이브러리 확인
5.5 프로세스 생성 관계 보기
5.6 프로세스의 수행 환경 확인

[5부] 소스코드 최적화

▣ 1장: 기본 방향

▣ 2장: 불필요한 작업 제거
2.1 로깅
___2.1.1 잘못 사용된 로깅 수준
___2.1.2 로깅을 위한 불필요한 메시지 생성
___2.1.3 로깅을 효율적으로 하기 위한 개선
___2.1.4 트랜잭션 저널 로그
2.2 불필요한 로직
2.3 반복 로직

▣ 3장: 로직 최적화
3.1 락 최소화
___3.1.1 락 범위 최소화
___3.1.2 락 제거
3.2 문자열 처리 개선
___3.2.1 String.format 메서드
___3.2.2 String.replaceAll 메서드
___3.2.3 문자열 합치기
3.3 리플렉션 호출 제거
3.4 채번
3.5 날짜 연산
3.6 시간 문자열 처리
3.7 순차 검색 제거
3.8 파일 입출력 단위
3.9 SQL
3.10 BigDecimal
3.11 비대기 입출력 사용
3.12 기타 성능 개선
3.13 코드 성능 측정

▣ 4장: 적극적인 캐시 사용

▣ 5장: 효율적인 아키텍처 구성
5.1 병렬 처리
5.2 통신전문
5.3 고객정보 조회 이력 로깅과 마스킹
5.4 대량 조회 프레임워크 구성
5.5 내부 연계시스템
5.6 수직확장과 수평확장

[6부] SQL 튜닝

▣ 1장: 기본 방향

▣ 2장: SQL 튜닝을 위한 지본 지식
2.1 데이터베이스의 기본 구조
2.2 블록 단위 처리
2.3 캐시 IO 대 물리 IO

▣ 3장: 성능 개선 대상 식별
3.1 SQL 수행 통계
3.2 실행 중인 세션 상태
3.3 수행 중인 SQL의 수행 상태 확인
3.4 락 대기
3.5 AWR 보고서
3.6 StatsPack

▣ 4장: SQL 실행계획
4.1 SQL 실행계획과 수행 결과
___4.1.1 SQL 실행계획 보기
___4.1.2 SQL 수행 결과 확인
4.2 실행계획의 이해
___4.2.1 조인
___4.2.2 SQL 실행계획의 동작
4.3 인덱스
___4.3.1 인덱스 구조
___4.3.2 인덱스 종류
___4.3.3 인덱스 사용 원칙
___4.3.4 인덱스 탐색 방식
___4.3.5 인덱스 수와 성능
4.4 테이블
___4.4.1 Direct-Path와 Conventional-Path
___4.4.2 파티션 테이블
4.3 테이블 통계 보기

▣ 5장: SQL 성능 개선
5.1 힌트 사용
5.2 SQL 성능 개선
___5.2.1 인덱스 부재
___5.2.2 인덱스 항목 순서
___5.2.3 LIKE에 의한 성능 저하
___5.2.4 테이블 조인 이상
___5.2.5 실행 횟수와 조인

[7부] 애플리케이션 입장에서의 SQL 튜닝

▣ 1장: 기본 방향

▣ 2장: 중복 SQL 수행 제거
2.1 애플리케이션 캐시의 종류
___2.1.1 블록 캐시
___2.1.2 요청 캐시
___2.1.3 사용자 세션 캐시
___2.1.4 프로세스 캐시
___2.1.5 프로세스간 공유 캐시
___2.1.6 캐시 특성 분류
2.2 요청 캐시 구현 코드
2.3 캐시 적용

▣ 3장: 불필요한 SQL 수행 제거

▣ 4장: 최적 수행
4.1 Rownum 추가
4.2 파티션 키 추가
4.3 조회 항목 사용 여부(테이블 조인 제거)

▣ 5장: 쿼리 통합
5.1 메인/서브 쿼리
5.2 병렬 쿼리 통합

▣ 6장: DB 집합 처리

▣ 7장: 트랜잭션 처리

▣ 8장: 기타
8.1 복합적인 기능을 수행하는 쿼리 제거
8.2 스칼라 서브 쿼리 사용 시 주의사항
8.3 페이징 처리

▣ 9장: 배치 성능 개선
9.1 전체 테이블 탐색
9.2 파티션
9.3 해시 조인
9.4 병렬 처리
9.5 쿼리 통합
___9.5.1 메인리더와 건별 처리 쿼리 통합
___9.5.2 메인리더와 Insert 통합
___9.5.3 Select / Insert / Update 통합
9.6 자바 배치 모니터링 방안

▣ 10장: APM 활용
10.1 스카우터

[8부] 서버 OS 모니터링

▣ 1장: 기본 방향

▣ 2장: CPU
2.1 사용량 분석
2.2 CPU 확인
2.3 동시 다중 스레딩
2.4 CPU를 많이 사용하는 스레드 식별하기
2.5 프로세스의 누적 CPU 사용량 확인하기
2.6 CPU를 많이 사용하는 모듈(코드) 식별하기

▣ 3장: 메모리
3.1 가상 메모리
3.2 메모리 관련 주요 용어
3.3 사용량 분석
3.4 메모리 확인

▣ 4장: 디스크
4.1 사용량 분석
4.2 유닉스/리눅스 디스크 관리
4.3 파일시스템의 입출력 방식
___4.3.1 비동기 입출력
___4.3.2 직접 입출력
___4.3.3 동시 입출력
4.4 스토리지
4.5 레이드
___4.5.1 레이드 0 - 스트라이핑
___4.5.2 레이드 1 - 미러링
___4.5.3 레이드 0+1 - 스트라이핑과 미러링
___4.5.4 레이드 4 - 스트라이핑과 전용 패리티
___4.5.5 레이드 5 - 스트라이핑과 분산 패리티

▣ 5장: 통합 모니터링 도구
5.1 nmon
5.2 topas
5.3 GlancePlus
5.4 top

[9부] 프로세스의 메모리 구조

▣ 1장: 기본 방향

▣ 2장: 바이너리 메모리 관리
2.1 프로세스 메모리 구조
2.2 메모리 누수 조사
___2.2.1 윈도우
___2.2.2 AIX
___2.2.3 솔라리스
___2.2.4 HPUX
___2.2.5 리눅스
___2.2.6 기타

▣ 3장: 자바 메모리 관리
3.1 JVM 메모리 구조
3.2 가비지 컬렉션
3.3 오라클/HP JVM의 힙 메모리 구조
3.4 오라클/HP JVM의 GC 방식
___3.4.1 Serial GC
___3.4.2 Incremental GC
___3.4.3 Parallel GC
___3.4.4 Parallel Old GC
___3.4.5 Concurrent Mark and Sweep(CMS) GC GC
___3.4.6 Garbage First(G1) GC
___3.4.7 GC 선정 기준
3.5 IBM JVM의 메모리 구조
___3.5.1 단일 공간 메모리 구조
___3.5.2 Generation space 메모리 구조
3.6 IBM JVM의 GC 방식
3.7 자바 힙 메모리 누수
3.8 자바 힙 메모리 모니터링
___3.8.1 jstat
___3.8.2 모니터링 콘솔
___3.8.3 GC 로깅
3.9 자바 힙 덤프 수집
___3.9.1 jmap
___3.9.2 이벤트 설정
___3.9.3 HPROF
3.10 메모리 분석(이클립스 MAT 1.2.1 버전)
___3.10.1 시작하기
___3.10.2 화면 구성
___3.10.3 주요 용어 설명
___3.10.4 주요 메뉴

[10부] 네트워크 모니터링

▣ 1장: 기본 방향

▣ 2장: 네트워크 기초
2.1 OSI 7 계층
2.2 TCP/IP와 UDP/IP
2.3 스위치
2.4 운영체제별 네트워크 설정 확인

▣ 3장: IP
3.1 기본 개념
___3.1.1 IP 주소
___3.1.2 IP 주소의 클래스
___3.1.3 IP 주소의 사이더
___3.1.4 서브넷 마스크
___3.1.5 게이트웨이
___3.1.6 점보 프레임
3.2 IPv6
3.3 IP 프로토콜 네트워크 체크 명령
___3.3.1 호스트 IP 설정 확인
___3.3.2 Ping 명령
___3.3.3 호스트의 라우팅 테이블 확인
___3.3.4 Trace route 명령
___3.3.5 nbtstat 명령

▣ 4장: TCP
4.1 기본 개념
4.2 TCP 전송 보장
___4.2.1 전송 보장 알고리즘
___4.2.2 선별적인 ACK
4.3 전송 제어
___4.3.1 수신 윈도우
___4.3.2 송신 윈도우
___4.3.3 슬라이딩 윈도우
4.4 네이글 알고리즘
4.5 TCP KeepAlive
4.6 TCP 프로토콜 네트워크 체크
___4.6.1 telnet [IP address] [port] 명령
___4.6.2 netstat -an 명령
___4.6.3 netstat -s -p [protocol] 명령

▣ 5장: UDP

▣ 6장: 기타 프로토콜
6.1 DNS
6.2 FTP

▣ 7장: 네트워크 데이터 수집 방법
7.1 유닉스/리눅스 공통
7.2 HP-UX
7.3 IBM AIX
7.4 오라클 솔라리스
7.5 윈도우

▣ 8장: 네트워크 패킷 분석 (와이어샤크 1.10.6 버전)
8.1 화면 구성
___8.1.1 패킷 목록
___8.1.2 패킷 프로토콜 정보
8.2 필터링
8.3 기초 분석 메뉴
8.4 응답시간 분석
___8.4.1 네트워크 시간
___8.4.2 서버 시간
___8.4.3 클라이언트 시간
8.5 전문 분석
8.6 재전송 분석
8.7 와이어샤크를 이용한 성능 분석


리뷰

구매자 별점

0.0

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

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

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

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

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

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



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

spinner
모바일 버전