본문 바로가기

추천 검색어

실시간 인기 검색어

시스템 성능 엔지니어링

브렌던 그레그 지음 | 이호연 옮김
인사이트

2025년 11월 21일 출간

국내도서 : 2025년 11월 04일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 PDF (42.44MB)   |  1,173 쪽
ISBN 9788966265039
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장
정가 : 49,600원

쿠폰적용가 44,640

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

《시스템 성능 엔지니어링》은 운영 체제와 애플리케이션의 성능을 이해하고 최적화하기 위한 개념, 전략, 도구 및 튜닝 기법을 종합적으로 다룹니다. 개발자에게 이러한 도구와 기법에 대한 깊은 이해는 필수적이며, 이 책에서 제시하는 전략은 사용자 경험 향상과 비용 절감으로 직결됩니다. 특히 인스턴스 단위로 과금되는 클라우드 환경에서는 이러한 개선 효과가 더 크게 나타납니다. 저자는 운영 체제, 하드웨어, 애플리케이션 이론을 간결하게 정리하여 성능 분석 경험이 없는 독자라도 빠르게 핵심을 이해할 수 있도록 안내합니다. 확장 BPF(eBPF)를 포함한 최신 분석 도구와 기법을 심도 있게 설명하며, 클라우드·웹·엔터프라이즈 시스템에서 최상의 성능을 이끌어내는 실질적인 방법을 제시합니다.
1장 소개
1.1 시스템 성능
1.2 역할
1.3 활동
1.4 관점
1.5 성능 분석의 어려움
__1.5.1 주관성
__1.5.2 복잡성
__1.5.3 복합 원인
__1.5.4 여러 성능 문제
1.6 지연시간
1.7 관측가능성
__1.7.1 카운터, 통계, 지표
__1.7.2 프로파일링
__1.7.3 트레이싱
1.8 실험
1.9 클라우드 컴퓨팅
1.10 방법론
__1.10.1 60초 리눅스 성능 분석
1.11 사례 연구
__1.11.1 느린 디스크
__1.11.2 소프트웨어 변경
__1.11.3 추가 자료
1.12 참고 자료

2장 방법론
2.1 용어
2.2 모델
__2.2.1 테스트 중인 시스템
__2.2.2 큐 시스템
2.3 개념
__2.3.1 지연시간
__2.3.2 시간 스케일
__2.3.3 트레이드오프
__2.3.4 튜닝을 위한 노력
__2.3.5 적합성의 수준
__2.3.6 분석을 언제 중단할 것인가
__2.3.7 성능 개선의 한시성
__2.3.8 부하 vs. 아키텍처
__2.3.9 규모 확장성
__2.3.10 지표
__2.3.11 사용률
__2.3.12 포화도
__2.3.13 프로파일링
__2.3.14 캐싱
__2.3.15 모른다는 것을 아는 것들
2.4 관점
__2.4.1 자원 분석
__2.4.2 워크로드 분석
2.5 방법론
__2.5.1 가로등 반방법론
__2.5.2 임의 변경 반방법론
__2.5.3 다른 사람 비난 반방법론
__2.5.4 전용 체크리스트 방법론
__2.5.5 문제 내역서
__2.5.6 과학적 방법론
__2.5.7 진단 사이클
__2.5.8 도구 방법론
__2.5.9 USE 방법론
__2.5.10 RED 방법론
__2.5.11 워크로드 특성화
__2.5.12 드릴다운 분석
__2.5.13 지연시간 분석
__2.5.14 R 방법론
__2.5.15 이벤트 트레이싱
__2.5.16 기준 통계
__2.5.17 정적 성능 튜닝
__2.5.18 캐시 튜닝
__2.5.19 마이크로 벤치마킹
__2.5.20 성능 최적화를 위한 지침
2.6 모델링
__2.6.1 엔터프라이즈 환경 vs. 클라우드 환경
__2.6.2 시각적 성능 식별
__2.6.3 암달의 확장성 법칙
__2.6.4 일반 확장성 법칙
__2.6.5 큐 이론
2.7 수용량 계획
__2.7.1 리소스 한계
__2.7.2 요인 분석
__2.7.3 스케일링 솔루션
2.8 통계
__2.8.1 성능 향상 정량화
__2.8.2 평균
__2.8.3 표준 편차, 백분위, 중앙값
__2.8.4 변동 계수
__2.8.5 다봉 분포
__2.8.6 극단값
2.9 모니터링
__2.9.1 시간에 따른 패턴
__2.9.2 모니터링 제품
__2.9.3 부팅 시점부터의 요약
2.10 시각화
__2.10.1 꺾은선 차트
__2.10.2 산점도
__2.10.3 히트맵
__2.10.4 타임라인 차트
__2.10.5 표면도
__2.10.6 시각화 도구
2.11 연습 문제
2.12 참고 자료

3장 운영 체제
3.1 용어
3.2 배경지식
__3.2.1 커널
__3.2.2 커널 및 사용자 모드
__3.2.3 시스템 콜
__3.2.4 인터럽트
__3.2.5 클럭과 유휴 상태
__3.2.6 프로세스
__3.2.7 스택
__3.2.8 가상 메모리
__3.2.9 스케줄러
__3.2.10 파일 시스템
__3.2.11 캐싱
__3.2.12 네트워킹
__3.2.13 장치 드라이버
__3.2.14 멀티프로세서
__3.2.15 선점
__3.2.16 자원 관리
__3.2.17 관측가능성 도구
3.3 커널
__3.3.1 유닉스
__3.3.2 BSD
__3.3.3 솔라리스
3.4 리눅스
__3.4.1 리눅스 커널 개발
__3.4.2 systemd
__3.4.3 KPTI(멜트다운)
__3.4.4 확장 BPF(Extended BPF)
3.5 기타 주제
__3.5.1 PGO 커널
__3.5.2 유니커널
__3.5.3 마이크로 커널 및 하이브리드 커널
__3.5.4 분산 운영 체제
3.6 커널 비교
3.7 연습 문제
3.8 참고 자료
__3.8.1 추가 자료

4장 관측가능성 도구
4.1 도구 적용 범위
__4.1.1 정적 성능 분석 도구
__4.1.2 비상 도구
4.2 도구 유형
__4.2.1 고정 카운터
__4.2.2 프로파일링
__4.2.3 트레이싱
__4.2.4 모니터링
4.3 관측가능성 소스
__4.3.1 /proc
__4.3.2 /sys
__4.3.3 지연 어카운팅
__4.3.4 netlink
__4.3.5 tracepoint
__4.3.6 kprobe
__4.3.7 uprobe
__4.3.8 USDT
__4.3.9 하드웨어 카운터(PMC)
__4.3.10 기타 관측가능성 소스
4.4 sar
__4.4.1 sar(1) 적용 범위
__4.4.2 sar(1) 모니터링
__4.4.3 sar(1) 실시간 모니터링
__4.4.4 sar(1) 관련 문서
4.5 트레이싱 도구
4.6 관측가능성 도구 관찰하기
4.7 연습 문제
4.8 참고 자료

5장 애플리케이션
5.1 애플리케이션 기초
__5.1.1 목표
__5.1.2 일반적인 경우 최적화하기
__5.1.3 관측가능성
__5.1.4 빅 오(Big O) 표기법
5.2 애플리케이션 성능 기법
__5.2.1 I/O 크기 변경
__5.2.2 캐싱
__5.2.3 버퍼링
__5.2.4 폴링
__5.2.5 동시성과 병렬성
__5.2.6 논블로킹 I/O
__5.2.7 프로세서 바인딩
__5.2.8 성능 최적화를 위한 지침
5.3 프로그래밍 언어
__5.3.1 컴파일 언어
__5.3.2 인터프리터 언어
__5.3.3 가상 머신
__5.3.4 가비지 컬렉션
5.4 방법론
__5.4.1 CPU 프로파일링
__5.4.2 Of-CPU 분석
__5.4.3 시스템 콜 분석
__5.4.4 USE 방법론
__5.4.5 스레드 상태 분석
__5.4.6 락 분석
__5.4.7 정적 성능 튜닝
__5.4.8 분산 트레이싱
5.5 관측가능성 도구
__5.5.1 perf
__5.5.2 profle
__5.5.3 ofcputime
__5.5.4 strace
__5.5.5 execsnoop
__5.5.6 syscount
__5.5.7 bpftrace
5.6 유의사항
__5.6.1 누락된 심벌
__5.6.2 누락된 스택
__5.7 연습 문제
__5.8 참고 자료

6장 CPU
6.1 용어
6.2 모델
__6.2.1 CPU 아키텍처
__6.2.2 CPU 메모리 캐시
__6.2.3 CPU 실행 큐
6.3 개념
__6.3.1 클럭 속도
__6.3.2 명령어
__6.3.3 명령어 파이프라인
__6.3.4 명령어 너비
__6.3.5 명령어 크기
__6.3.6 SMT
__6.3.7 IPC, CPI
__6.3.8 CPU 사용률
__6.3.9 사용자 시간/커널 시간 비율
__6.3.10 포화 상태
__6.3.11 선점
__6.3.12 우선순위 역전
__6.3.13 멀티프로세스, 멀티스레드
__6.3.14 워드 크기
__6.3.15 컴파일러 최적화
6.4 아키텍처
__6.4.1 하드웨어
__6.4.2 소프트웨어
6.5 방법론
__6.5.1 도구 방법론
__6.5.2 USE 방법론
__6.5.3 워크로드 특성화
__6.5.4 프로파일링
__6.5.5 사이클 분석
__6.5.6 성능 모니터링
__6.5.7 정적 성능 튜닝
__6.5.8 우선순위 튜닝
__6.5.9 리소스 제어
__6.5.10 CPU 바인딩
__6.5.11 마이크로 벤치마킹
6.6 관측가능성 도구
__6.6.1 uptime
__6.6.2 vmstat
__6.6.3 mpstat
__6.6.4 sar
__6.6.5 ps
__6.6.6 top
__6.6.7 pidstat
__6.6.8 time, ptime
__6.6.9 turbostat
__6.6.10 showboost
__6.6.11 pmcarch
__6.6.12 tlbstat
__6.6.13 perf
__6.6.14 profle
__6.6.15 cpudist
__6.6.16 runqlat
__6.6.17 runqlen
__6.6.18 softirqs
__6.6.19 hardirqs
__6.6.20 bpftrace
__6.6.21 기타 도구
6.7 시각화
__6.7.1 사용률 히트맵
__6.7.2 1초 미만 오프셋 히트맵
__6.7.3 플레임 그래프
__6.7.4 FlameScope
6.8 실험
__6.8.1 임의 부하 생성
__6.8.2 SysBench
6.9 튜닝
__6.9.1 컴파일러 옵션
__6.9.2 스케줄링 우선순위 및 클래스
__6.9.3 스케줄러 옵션
__6.9.4 스케일링 거버너
__6.9.5 프로세서 전원 상태
__6.9.6 CPU 바인딩
__6.9.7 배타적 CPU 셋
__6.9.8 리소스 제어
__6.9.9 보안 부팅 옵션
__6.9.10 프로세스 옵션(BIOS 튜닝)
6.10 연습 문제
6.11 참고 자료

7장 메모리
7.1 용어
7.2 개념
__7.2.1 가상 메모리
__7.2.2 페이징
__7.2.3 요구 페이징
__7.2.4 메모리 오버커밋
__7.2.5 프로세스 스와핑
__7.2.6 파일 시스템 캐시 사용
__7.2.7 사용률 및 포화도
__7.2.8 메모리 할당자
__7.2.9 공유 메모리
__7.2.10 워킹 셋 크기
__7.2.11 워드 크기
7.3 아키텍처
__7.3.1 하드웨어
__7.3.2 소프트웨어
__7.3.3 프로세스 가상 주소 공간
7.4 방법론
__7.4.1 도구 방법론
__7.4.2 USE 방법론
__7.4.3 사용 특성 파악
__7.4.4 사이클 분석
__7.4.5 성능 모니터링
__7.4.6 메모리 누수 탐지
__7.4.7 정적 성능 튜닝
__7.4.8 리소스 제어
__7.4.9 마이크로 벤치마킹
__7.4.10 메모리 축소 방법론
7.5 관측가능성 도구
__7.5.1 vmstat
__7.5.2 PSI
__7.5.3 swapon
__7.5.4 sar
__7.5.5 slabtop
__7.5.6 numastat
__7.5.7 ps
__7.5.8 top
__7.5.9 pmap
__7.5.10 perf
__7.5.11 drsnoop
__7.5.12 wss
__7.5.13 bpftrace
__7.5.14 기타 도구
7.6 튜닝
__7.6.1 튜닝 파라미터
__7.6.2 여러 페이지 크기
__7.6.3 메모리 할당자
__7.6.4 NUMA 바인딩
__7.6.5 리소스 제어
7.7 연습 문제
7.8 참고 자료

8장 파일 시스템
8.1 용어
8.2 모델
__8.2.1 파일 시스템 인터페이스
__8.2.2 파일 시스템 캐시
__8.2.3 2단계 캐시
8.3 개념
__8.3.1 파일 시스템 지연시간
__8.3.2 캐시
__8.3.3 임의 접근 I/O vs. 순차 접근 I/O
__8.3.4 프리패치
__8.3.5 미리 읽기
__8.3.6 Write-Back 캐시
__8.3.7 동기적 쓰기
__8.3.8 Raw I/O와 Direct I/O
__8.3.9 논블로킹 I/O
__8.3.10 메모리 매핑 파일
__8.3.11 메타데이터
__8.3.12 논리적 I/O vs. 물리적 I/O
__8.3.13 연산들은 동일하지 않습니다
__8.3.14 특수 파일 시스템
__8.3.15 액세스 타임스탬프
__8.3.16 용량
8.4 아키텍처
__8.4.1 파일 시스템 I/O 스택
__8.4.2 VFS
__8.4.3 파일 시스템 캐시
__8.4.4 파일 시스템 특징
__8.4.5 파일 시스템 유형
__8.4.6 볼륨과 풀
8.5 방법론
__8.5.1 디스크 분석
__8.5.2 지연시간 분석
__8.5.3 워크로드 특성화
__8.5.4 성능 모니터링
__8.5.5 정적 성능 튜닝
__8.5.6 캐시 튜닝
__8.5.7 워크로드 분리
__8.5.8 마이크로 벤치마킹
8.6 관측가능성 도구
__8.6.1 mount
__8.6.2 free
__8.6.3 top
__8.6.4 vmstat
__8.6.5 sar
__8.6.6 slabtop
__8.6.7 strace
__8.6.8 fatrace
__8.6.9 LatencyTOP
__8.6.10 opensnoop
__8.6.11 fletop
__8.6.12 cachestat
__8.6.13 ext4dist (xfs, zfs, btrfs, nfs)
__8.6.14 ext4slower (xfs, zfs, btrfs, nfs)
__8.6.15 bpftrace
__8.6.16 기타 도구
__8.6.17 시각화
8.7 실험
__8.7.1 임의 부하 생성
__8.7.2 마이크로 벤치마크 도구
__8.7.3 캐시 플러싱
8.8 튜닝
__8.8.1 애플리케이션 호출
__8.8.2 ext4
__8.8.3 ZFS
8.9 연습 문제
8.10 참고 자료

9장 디스크
9.1 용어
9.2 모델
__9.2.1 기본적인 디스크
__9.2.2 디스크 내장 캐시
__9.2.3 컨트롤러
9.3 개념
__9.3.1 시간 측정
__9.3.2 시간 스케일
__9.3.3 캐싱
__9.3.4 임의 접근 I/O vs. 순차 접근 I/O
__9.3.5 읽기/쓰기 비율
__9.3.6 I/O 크기
__9.3.7 같은 IOPS라도 모두 다르다
__9.3.8 데이터 전송이 아닌 디스크 명령
__9.3.9 사용률
__9.3.10 포화도
__9.3.11 I/O 대기율
__9.3.12 동기 vs. 비동기
__9.3.13 디스크 I/O vs. 애플리케이션 I/O
9.4 아키텍처
__9.4.1 디스크 유형 599
____9.4.1.1 자기 회전식 드라이브
____9.4.1.2 반도체 드라이브
____9.4.1.3 영구 메모리
__9.4.2 인터페이스
__9.4.3 저장 장치 유형
__9.4.4 운영 체제 디스크 I/O 스택
9.5 방법론
__9.5.1 도구 방법론
__9.5.2 USE 방법론
__9.5.3 성능 모니터링
__9.5.4 워크로드 특성화
__9.5.5 지연시간 분석
__9.5.6 정적 성능 튜닝
__9.5.7 캐시 튜닝
__9.5.8 리소스 제어
__9.5.9 마이크로 벤치마킹
__9.5.10 스케일링
9.6 관측가능성 도구
__9.6.1 iostat
__9.6.2 sar
__9.6.3 PSI
__9.6.4 pidstat
__9.6.5 perf
__9.6.6 biolatency
__9.6.7 biosnoop
__9.6.8 iotop, biotop
__9.6.9 biostacks
__9.6.10 blktrace
__9.6.11 bpftrace
__9.6.12 MegaCli
__9.6.13 smartctl
__9.6.14 SCSI 로깅
__9.6.15 기타 도구
9.7 시각화
__9.7.1 꺾은선 차트
__9.7.2 지연시간 산점도
__9.7.3 지연시간 히트맵
__9.7.4 오프셋 히트맵
__9.7.5 사용률 히트맵
9.8 실험
__9.8.1 임의 부하 생성
__9.8.2 부하 발생기 제작
__9.8.3 마이크로 벤치마크 도구
__9.8.4 임의 접근 읽기 예제
__9.8.5 ioping
__9.8.6 fo
__9.8.7 blkreplay
9.9 튜닝
__9.9.1 운영 체제 튜닝 옵션
__9.9.2 디스크 장치 튜닝 파라미터
__9.9.3 디스크 컨트롤러 튜닝 옵션
9.10 연습 문제
9.11 참고 자료

10장 네트워크
10.1 용어
10.2 모델
__10.2.1 네트워크 인터페이스
__10.2.2 네트워크 컨트롤러
__10.2.3 프로토콜 스택
10.3 개념
__10.3.1 네트워크 및 라우팅
__10.3.2 프로토콜
__10.3.3 캡슐화
__10.3.4 패킷 크기
__10.3.5 지연시간
__10.3.6 버퍼링
__10.3.7 연결 백로그
__10.3.8 인터페이스 교섭
__10.3.9 혼잡 회피
__10.3.10 사용률
__10.3.11 로컬 연결
10.4 아키텍처
__10.4.1 프로토콜
__10.4.2 하드웨어
__10.4.3 소프트웨어
10.5 방법론
__10.5.1 도구 방법론
__10.5.2 USE 방법론
__10.5.3 워크로드 특성화
__10.5.4 지연시간 분석
__10.5.5 성능 모니터링
__10.5.6 패킷 스니핑
__10.5.7 TCP 분석
__10.5.8 정적 성능 튜닝
__10.5.9 리소스 제어
__10.5.10 마이크로 벤치마킹
10.6 관측가능성 도구
__10.6.1 ss
__10.6.2 ip
__10.6.3 ifconfg
__10.6.4 nstat
__10.6.5 netstat
__10.6.6 sar
__10.6.7 nicstat
__10.6.8 ethtool
__10.6.9 tcplife
__10.6.10 tcptop
__10.6.11 tcpretrans
__10.6.12 bpftrace
__10.6.13 tcpdump
__10.6.14 Wireshark
__10.6.15 기타 도구
10.7 실험
__10.7.1 ping
__10.7.2 traceroute
__10.7.3 pathchar
__10.7.4 iperf
__10.7.5 netperf
__10.7.6 tc
__10.7.7 기타 도구
__10.8 튜닝
__10.8.1 시스템 단위 튜닝
__10.8.2 소켓 옵션
__10.8.3 설정
10.9 연습 문제
10.10 참고 자료

11장 클라우드 컴퓨팅
11.1 배경지식
__11.1.1 인스턴스 유형
__11.1.2 확장 가능한 아키텍처
__11.1.3 수용량 계획
__11.1.4 스토리지
__11.1.5 멀티테넌시
__11.1.6 오케스트레이션(쿠버네티스)
11.2 하드웨어 가상화
__11.2.1 구현
__11.2.2 오버헤드
__11.2.3 리소스 제어
__11.2.4 관측가능성
____11.2.4.1 특권 게스트/호스트
____11.2.4.2 게스트
____11.2.4.3 전략
11.3 OS 가상화
__11.3.1 구현
__11.3.2 오버헤드
__11.3.3 리소스 제어
__11.3.4 관측가능성
____11.3.4.1 기존 도구들
____11.3.4.2 호스트
____11.3.4.3 게스트(컨테이너)
____11.3.4.4 전략
11.4 경량 가상화
__11.4.1 구현
__11.4.2 오버헤드
__11.4.3 리소스 제어
__11.4.4 관측가능성
11.5 기타 유형
11.6 비교
11.7 연습 문제
11.8 참고 자료

12장 벤치마킹
12.1 배경지식
__12.1.1 벤치마킹을 하는 이유
__12.1.2 효과적인 벤치마킹
__12.1.3 벤치마킹 실패
12.2 벤치마킹 유형
__12.2.1 마이크로 벤치마킹
__12.2.2 시뮬레이션
__12.2.3 리플레이
__12.2.4 산업 표준
12.3 방법론
__12.3.1 수동적 벤치마킹
__12.3.2 능동적 벤치마킹
__12.3.3 CPU 프로파일링
__12.3.4 USE 방법론
__12.3.5 워크로드 특성화
__12.3.6 커스텀 벤치마크
__12.3.7 연속 부하 증가
__12.3.8 정상 여부 검사
__12.3.9 통계적 분석
__12.3.10 벤치마킹 체크리스트
12.4 벤치마크 질문
12.5 연습 문제
12.6 참고 자료

13장 perf
13.1 하위 명령어 개요
13.2 원 라이너
__사용할 수 있는 이벤트
__이벤트 집계
__프로파일링
__정적 트레이싱
__동적 트레이싱
__리포팅
13.3 perf 이벤트
13.4 하드웨어 이벤트
__13.4.1 빈도수 샘플링
13.5 소프트웨어 이벤트
13.6 tracepoint 이벤트
13.7 Probe 이벤트
__13.7.1 kprobe
__13.7.2 uprobe
__13.7.3 USDT
13.8 perf stat
__13.8.1 옵션
__13.8.2 인터벌 통계
__13.8.3 CPU별 밸런스
__13.8.4 이벤트 필터
__13.8.5 섀도우 통계
13 9 perf record
__13.9.1 옵션
__13.9.2 CPU 프로파일링
__13.9.3 스택 추적
13.10 perf report
__13.10.1 TUI
__13.10.2 STDIO
13.11 perf script
__13.11.1 플레임 그래프
__13.11.2 트레이스 스크립트
13.12 perf trace
__13.12.1 커널 버전
13.13 기타 명령어
13.14 perf 문서
13.15 참고 자료

14장 Ftrace
14.1 활용 가능성 개요
14.2 tracefs(/sys)
__14.2.1 tracefs 구성 요소
14.3 Ftrace 함수 프로파일러
14.4 Ftrace 함수 트레이싱
__14.4.1 trace 사용하기
__14.4.2 trace_pipe 사용하기
__14.4.3 옵션
14.5 tracepoint
__14.5.1 필터
__14.5.2 트리거
14.6 kprobe
__14.6.1 이벤트 트레이싱
__14.6.2 인자
__14.6.3 리턴 값
__14.6.4 필터와 트리거
__14.6.5 kprobe 프로파일링
14.7 uprobe
__14.7.1 이벤트 트레이싱
__14.7.2 인자 및 리턴 값
__14.7.3 필터 및 트리거
__14.7.4 uprobe 프로파일링
14.8 Ftrace function_graph
__14.8.1 그래프 트레이싱
__14.8.2 옵션
14.9 Ftrace hwlat
14.10 Ftrace 히스토그램 트리거
__14.10.1 단일 키
__14.10.2 필드
__14.10.3 지시자
__14.10.4 PID 필터
__14.10.5 다중 키
__14.10.6 스택 트레이스 키
__14.10.7 합성 이벤트
14.11 trace-cmd
__14.11.1 하위 명령어 개요
__14.11.2 trace-cmd 원 라이너
__14.11.3 trace-cmd vs. perf(1)
__14.11.4 trace-cmd function_graph
__14.11.5 KernelShark
__14.11.6 trace-cmd 문서
14.12 perf ftrace
14.13 perf-tools
__14.13.1 도구 사용 분야
__14.13.2 단일 목적 도구
__14.13.3 다목적 도구
__14.13.4 perf-tools 원 라이너
__14.13.5 예시
__14.13.6 perf-tools vs. BCC/BPF
__14.13.7 문서
14.14 Ftrace 문서
14.15 참고 자료

15장 BPF
15 1 BCC
__15.1.1 설치
__15.1.2 도구 사용 분야
__15.1.3 단일 목적 도구
__15.1.4 다목적 도구
__15.1.5 원 라이너
__15.1.6 다목적 도구 사례
__15.1.7 BCC vs. bpftrace
__15.1.8 문서
15.2 bpftrace
__15.2.1 설치 1033
__15.2.2 도구 1033
__15.2.3 원 라이너
__15.2.4 프로그래밍
__15.2.5 참고 자료
__15.2.6 문서
15.3 참고 자료

16장 사례 연구
16.1 원인 불명의 성능 향상
__16.1.1 문제 정의
__16.1.2 분석 전략
__16.1.3 통계
__16.1.4 구성
__16.1.5 PMC
__16.1.6 소프트웨어 이벤트
__16.1.7 트레이싱
__16.1.8 결론
16.2 추가 정보
16.3 참고 자료

부록 A USE 방법론: 리눅스
부록 B sar 요약
부록 C bpftrace 원 라이너
부록 D 연습 문제 해답(일부)
부록 E 시스템 성능 분야의 주요 인물

[이 책에서 다루는 내용]
● 하드웨어, 커널, 애플리케이션 내부 구조와 성능 특성
● 복잡한 시스템을 신속하게 진단하기 위한 성능 분석 방법론
● CPU, 메모리, 파일 시스템, 디스크, 네트워크 자원 사용 최적화
● perf, Ftrace, BPF(BCC 및 bpftrace)를 활용한 정밀 프로파일링과 트레이싱
● 클라우드 하이퍼바이저 환경에서 직면하는 성능 문제
● 더 효과적인 벤치마킹 기법

인물정보

저자(글) 브렌던 그레그

컴퓨팅 성능과 클라우드 컴퓨팅 분야의 세계적인 전문가입니다. 현재 인텔 펠로우(Intel Fellow)로서 AI·클라우드 성능 엔지니어링을 이끌고 있으며, 이전에는 넷플릭스의 시니어 성능 아키텍트로 성능 설계·평가·분석·튜닝을 총괄했습니다. ≪BPF 성능 분석 도구≫(인사이트, 2021)를 비롯해 여러 기술서를 집필했으며, USENIX LISA 공로상을 받았습니다. 또한 커널 엔지니어와 성능 책임자로 활동했으며, USENIX LISA 2018 컨퍼런스의 프로그램 공동 의장을 맡은 바 있습니다.플레임 그래프(flame graph)를 비롯해 여러 운영 체제에 포함된 성능 도구와 시각화 기법을 고안해 보급한 성과로도 널리 인정받고 있습니다.

번역 이호연

SUSE의 BPF 시스템 엔지니어로, 리눅스 커널 BPF 서브시스템 개발과 엔터프라이즈 리눅스 배포판의 BPF 기능을 담당하고 있습니다. 2018년부터 BPF/XDP와 uftrace 등 다양한 오픈 소스 프로젝트에 꾸준히 기여하며, 커널 내부 동작 분석과 성능 최적화에 집중해 왔습니다. 또한 스토리지와 네트워크 성능 분석을 주제로 USENIX Vault 19와 SOSCON 2019에서 발표한 경험이 있습니다. 집필서로는 《Kong: Becoming a King of API Gateways》(Bleeding Edge Press, 2018), 번역서로는 《BPF 성능 분석 도구: BPF 트레이싱을 통한 리눅스 시스템 관측가능성과 성능 향상》(인사이트, 2021)이 있습니다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 5,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (2024년 9월 30일부터 적용)
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 5,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (2024년 9월 30일부터 적용)
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    시스템 성능 엔지니어링 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    시스템 성능 엔지니어링 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    시스템 성능 엔지니어링
    저자 모두보기
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글바이액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)