logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

일간
|
주간
|
월간

실시간 검색어

검색가능 서점

도서목록 제공

시스템 성능 엔지니어링

시스템 성능 엔지니어링

(시스템 성능 분석과 문제 해결을 위해 알아야 할 거의 모든 것)

브렌던 그레그 (지은이), 이호연 (옮긴이)
인사이트
62,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
55,800원 -10% 0원
3,100원
52,700원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

시스템 성능 엔지니어링
eBook 미리보기

책 정보

· 제목 : 시스템 성능 엔지니어링 (시스템 성능 분석과 문제 해결을 위해 알아야 할 거의 모든 것)
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788966264964
· 쪽수 : 1172쪽
· 출판일 : 2025-11-04

책 소개

운영 체제와 애플리케이션의 성능을 이해하고 최적화하기 위한 개념, 전략, 도구 및 튜닝 기법을 종합적으로 다룬다. 개발자에게 이러한 도구와 기법에 대한 깊은 이해는 필수적이며, 이 책에서 제시하는 전략은 사용자 경험 향상과 비용 절감으로 직결된다.
《시스템 성능 엔지니어링》은 운영 체제와 애플리케이션의 성능을 이해하고 최적화하기 위한 개념, 전략, 도구 및 튜닝 기법을 종합적으로 다룹니다. 개발자에게 이러한 도구와 기법에 대한 깊은 이해는 필수적이며, 이 책에서 제시하는 전략은 사용자 경험 향상과 비용 절감으로 직결됩니다. 특히 인스턴스 단위로 과금되는 클라우드 환경에서는 이러한 개선 효과가 더 크게 나타납니다. 저자는 운영 체제, 하드웨어, 애플리케이션 이론을 간결하게 정리하여 성능 분석 경험이 없는 독자라도 빠르게 핵심을 이해할 수 있도록 안내합니다. 확장 BPF(eBPF)를 포함한 최신 분석 도구와 기법을 심도 있게 설명하며, 클라우드·웹·엔터프라이즈 시스템에서 최상의 성능을 이끌어내는 실질적인 방법을 제시합니다.

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

목차

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 시스템 성능 분야의 주요 인물

저자소개

브렌던 그레그 (지은이)    정보 더보기
컴퓨팅 성능과 클라우드 컴퓨팅 분야의 세계적인 전문가입니다. 현재 인텔 펠로우(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)이 있습니다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책