이미 소장하고 있다면 판매해 보세요.
|
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 시스템 성능 분야의 주요 인물 |
Brendan Gregg
브렌던 그레그의 다른 상품
이호연의 다른 상품
|
[이 책에서 다루는 내용]
● 하드웨어, 커널, 애플리케이션 내부 구조와 성능 특성 ● 복잡한 시스템을 신속하게 진단하기 위한 성능 분석 방법론 ● CPU, 메모리, 파일 시스템, 디스크, 네트워크 자원 사용 최적화 ● perf, Ftrace, BPF(BCC 및 bpftrace)를 활용한 정밀 프로파일링과 트레이싱 ● 클라우드 하이퍼바이저 환경에서 직면하는 성능 문제 ● 더 효과적인 벤치마킹 기법 |
|
《시스템 성능 엔지니어링》은 시스템을 이루는 핵심 요소들이 어떻게 동작하는지를 깊이 있게 다루며, 성능 문제를 진단하고 해결할 수 있는 기반을 마련해 줍니다. 단순한 도구 사용법이 아닌 시스템을 보는 눈을 길러 주는 안내서로서 더 멀리, 더 깊이 가고 싶은 분들에게 추천합니다. - 강진우 (당근마켓 인프라실 리더)
|
|
SRE로 일하면서 성능 이슈를 다루다 보면, 원인을 파악하는 데 가장 큰 도움이 되는 건 시스템의 내부를 들여다볼 수 있는 도구들입니다. 이 책은 BPF를 활용해 그 과정을 체계적으로 안내해 주는 탁월한 자료입니다. - 박상헌 (카카오 인프라 개발 조직 리더)
|
|
이 책은 CPU, 메모리, 디스크, 네트워크 같은 핵심 자원이 어떻게 동작하는지 알기 쉽게 풀어 주고, 실제로 성능 문제가 생겼을 때 어떤 도구와 방법을 써야 하는지도 구체적으로 보여 줍니다. 특히 클라우드 환경과 컨테이너 운영에서 흔히 겪는 문제들을 예시로 다루어, 실무 경험이 부족한 사람도 상황을 그려볼 수 있게 돕습니다. - 윤종민 (라인플러스 개발자)
|
|
참고용 매뉴얼을 넘어서 엔지니어로서의 사고 체계를 근본적으로 변화시키는 책입니다. 복잡한 문제를 구조적으로 분석하고, 근본 원인을 찾아내며, 올바른 최적화 전략을 세우는 능력을 키워 줍니다. 클라우드·분산 환경에서도 이 책에서 배운 원리와 분석 기법은 강력한 무기가 될 것입니다. - 이호성 (CIQ Principle Solution Architect(기술총괄 상무), 한국 리눅스 사용자 그룹 운영자)
|