그림으로 공부하는 시스템 성능 구조

1

DevOps, 인프라 구축 관련 책 중에서 가장 좋다.

2

특히 1장, 2장, 3장, 7장은 꼭 참고해 볼 필요가 있다.

3

근간에 Back-End 관련 작업을 하다 보니… ‘인프라 및 튜닝’관련 기본서 중에서 이 책만한게 없다. 나처럼 오래만에 작업하는 개발자나, 인프라 및 튜닝에 관련된 업무를 시작하는 초보자에게 권한다.


요즘은 TB가 기본

‘메가’는 100만을 표현하는 단위지만, 최근의 시스템에서는 그렇게 큰 단위가 아니다.

O(n) v.s. O(logn)

이런 이유로 알고리즘 성능을 비교할 때는 자잘한 오버헤드는 무시해도 좋다. 그러면 우리가 정말로 신경 써야 할 것은 무엇인가? 그것은 데이터 개수가 증가할 때, 어떤 형태로 시간이 늘어나느냐다.

엄청 많은 경우를 고려해야 한다. 그러나 데이터의 형태도 동일하게 고려해야 한다.

알고리즘의 좋고 나쁨은 이렇게 데이터 건수가 많은 경우를 고려해야만 한다.

응답 중심 시스템에 대해서 좀 더 공부할게 많다.

세상에는 응답 중심 시스템과 처리량 중심 시스템이 있다. […] 응답이 빠르면 보통은 처리량도 올라가기 때문이다. 하지만 CPU 클록(clock)이나 디스크 I/O 속도에도 한계가 있으므로, 그 이상의 속도를 내기란 물리적으로 불가능하다. 하드웨어로서 성능을 향상시키기에는 제한이 있는 것이다. 이때 등장하는 것이 처리량 중심 시스템이다. 특히, 많은 사람이 동시에 사용하는 시스템에서 이 방식을 채택한다.

로그의 중요성

측정이 되지 않으면 성능에 대해 애기할 수 없다.

문제를 알아내는게 로그의 필요성

핵심은 ‘어떤 문제를 파악하고 싶은지’를 사전에 생각해 두지 않았다는 것이다.

책을 꼭 참고할 필요가 있다.

성능 정보는 세 가지로 나눌 수 있으며, 각각 ‘요약 형식’, ‘이벤트 기록 형식’, ‘스냅샷 형식’과 같다.

가비지 컬렉터의 중요성

기반이 받쳐 주지 못하면 그 위에서 동작하는 애플리케이션이 제대로 동작하지 못한다. 이런 의미에서도 GC 로그는 무척 중요하다.

당연한 듯 하지만 소중한 개념이다.

응답이 돌아오기까지의 시간을 응답 시간이라고 한다.

ORM에서 자주 보게 되는 단어

변경됐지만 아직 저장되지 않은 데이터를 ‘더티(Dirty)’라고 부른다.

튜닝은 하나씩!

설정은 크지도 적지도 않게 적당히, 튜닝은 하나씩 진행

Written on August 28, 2015