인프라의 기본 5

Chapter 8. 웹 서비스 튜닝 2 : 튜닝 레시피

8.1 포인트별 튜닝 레시피 8.1.1 요청 횟수와 전송량을 줄이는 방법 HTTP 요청은 텍스트 기반의 프로토콜이며, 통신을 하기 위해서는 일련의 절차가 필요하다. 서버와 클라이언트 측 모두 통신을 할 때마다 프로토콜을 해석하는 파서(Parser)가 매번 동작하며, 요청 횟수가 늘어나면 그만큼 오버헤드가 증가한다. 따라서, HTTP의 오버헤드를 줄이기 위해서는 요청 횟수를 줄이거나 전체적인 데이터 전송량을 줄이도록 한다. 요청 횟수나 데이터 전송량을 줄이기 위해 파일 결합, CSS Sprite, CSS나 JavaScript의 minify를 할 때에는 'Grunt'와 같은 툴을 사용하면 좋다. 요청 횟수를 줄이는 방법 구체적인 실행방법 파일 결합에 의한 이미지 수 감소 페이지 내에서 이용하는 CSS나 Ja..

Chapter 7. 웹 서비스 튜닝 1 : 보틀넥을 찾는 방법

7.1 용량의 검토 방법과 용량의 향상 / 7.2 시스템 튜닝의 철칙 웹 시스템의 용량을 향상시키기 위해서는 용량을 고려하는 단위를 먼저 확인하여야 한다. 웹 시스템의 용량에는 단위 시간당 시스템 이용자의 수가 중요한데, 이 "단위 시간당 시스템 이용자 수"는 곧 단위 시간당 소요되는 처리량이라고 볼 수 있다. 즉, 웹 시스템의 용량은 단위 시간당 처리 성능과 단위 시간당 소요되는 처리량 중에서 낮은 쪽으로 결정이 되는 것이라 볼 수 있다. 따라서 용량을 향상시키기 위해서는 ① 단위 시간당 처리 성능을 높이거나 ② 단위 시간당 소요되는 처리량을 낮추는 방법 중 한 가지의 접근을 할 수 있다. 단위 시간당 처리 성능은 하드웨어 성능이나 배치 등의 물리적 제약에 따라 결정된다. 구체적으로는 CPU 성능(클럭..

Chapter 5. 웹 서비스 운용 1 : 시스템 감시의 기본

5.1 시스템 감시의 개론 시스템을 감시하는 것은 단순히 시스템을 보고 있는 것이 아닌, 시스템의 정상 상태는 어떤 상태인지를 파악해 그 상태가 무너질 경우의 대응 방법을 사전에 확실히 결정해 두는 것이다. 웹 서비스가 사회에서 중요한 역할을 담당하기 시작하면서 사용 중인 웹 사이트가 갑자기 정지되어 버리는 경우 사용자에게 크리티컬 한 문제가 생기기 시작하였고, 서비스를 제공하는 쪽에서는 갑자기 문제가 생겨 의도하지 않은 서비스의 정지나 성능 저하가 일어나지 않도록 문제 발생 시 신속하게 복구하여 정상 상태를 유지하는 것이 가장 중요한 운용 포인트가 되었다. 이렇게 정상 상태를 유지하는 것이 시스템 감시의 목적이며, 시스템 감시는 아래 4가지 항목으로 정의한다. '정상 상태'를 감시 항목 + 정상적인 결..

Chapter 2. 인프라 기술의 기초 지식 -1

2.1 인터넷이라는 거대한 네트워크 / 2.2 인터넷을 통한 데이터 송수신 구조 인터넷은 IP주소로 이루어져 있는 하나의 거대한 네트워크이다. IP주소란 '.'으로 구분되는 4개의 숫자 배열로, 네트워크에 연결된 모든 기기는 이러한 IP주소가 할당되어 있어 각자의 IP주소를 통해 서로 통신을 한다. IP주소는 전 세계적으로 중복되지 않도록 관리되는 글로벌 IP주소(공인 IP)와 회사나 가정 등에서 자유롭게 사용되는 로컬 IP주소(사설 IP)로 구분되고 있으며, 로컬 IP주소로 통신하는 네트워크에서는 어느 하나의 기기가 글로벌 IP를 가지게 되어 로컬 네트워크와 글로벌 네트워크의 중계를 하게 된다. 추가로 넷마스크(NetMask)라는 구성을 통해서 연속하는 IP주소를 그룹핑이 가능한데, IP주소와 넷마스크..

Chapter 1. 웹서비스에서 인프라의 역할

1.1 웹 서비스 구축에 관련된 인프라 영역 / 1.2 인프라 요건 정의에서 운용까지의 주의점 애플리케이션 엔지니어가 인프라 영역까지 준비하기엔, 인프라 영역은 대상이 많고 취급 분야가 다양하다. 만들고자 하는 웹 서비스에 따라 결정되는 인프라는 조금씩 다르지만, 일반적인 웹 서비스 구축 시 다루게 되는 작업 과정과 영역, 기술 영역은 아래 표와 같다. 사실 인프라란, 애플리케이션을 처리하는 단계를 칭하는 것이 아닌 계층을 다루는 분야이지만 현업에서는 운용부터 처리단계까지 모두 포함하는 경우가 많다. 인프라는 시스템을 기반으로 하며, 애플리케이션의 성능을 결정하는 중요한 요소가 된다. 따라서 서비스의 확장성을 염두에 두고 구성을 할 필요가 있다. 인프라를 설계/구축하는 경우 확장성, 다중화, 규모를 미리..

반응형