분류 전체보기

    [대규모 서비스를 지탱하는 기술] OS 캐시 구조

    OS 캐시 구조 페이지 캐시 OS에는 디스크 내의 데이터에 빠르게 액세스 할 수 있도록 하는 구조가 갖춰져 있다. OS는 메모리를 이용해서 디스크 액세스를 줄인다. ⇒ OS 캐시 Linux의 경우는 페이지 캐시라고 하는 캐시 구조를 갖추고 있다. 페이지 구조 가상 메모리 OS는 가상 메모리 구조를 갖추고 있다. 가상 메모리 구조는 논리적인 선형 어드레스를 물리적인 물리 어드레스로 변환하는 것. 가상 메모리 구조가 존재하는 가장 큰 이유는 물리적인 하드웨어를 OS에서 추상화하기 위해서이다. 가상 메모리를 통해 OS가 커널 내에서 메모리를 추상화하고 있다. 이러한 이유로 프로세스에서 메모리를 다루기 쉽게하는 이점을 제공한다. (프로세스에게는 0x000과 같이 반드시 메모리의 특정 번지부터 시작한다고 정해져 ..

    [대규모 서비스를 지탱하는 기술] 메모리와 디스크

    대규모 데이터 처리의 어려운 점 메모리 내에서 계산할 수 없다. 데이터가 너무 많아서 메모리 내에서 계산할 수 없게 되면 디스크에 있는 데이터를 검색하게 된다. 하지만 디스크는 메모리에 비해 상당히 느리며, I/O에 시간이 걸린다. 메모리 vs 디스크의 속도 차 탐색 속도 메모리는 전기적인 부품으로 물리적 구조는 탐색 속도와 그다지 관계없다. (데이터가 메모리상에 있다면 탐색할 때 물리적인 동작 없이 실제 데이터 탐색 시의 오버헤드가 거의 없으므로 빠른 것이다.) 반면에 디스크는 헤드의 이동과 원반의 회전이라는 두 가지 물리적인 동작을 수반하고 있다. 이러한 물리적인 구조가 탐색 속도에 영향을 준다. OS 레벨에서의 디스크의 탐색 속도 개선 사항 디스크는 느리지만 OS는 이러한 점을 어느 정도 커버하는 ..

    [대규모 서비스를 지탱하는 기술] 대규모 서비스의 어려움

    소규모 서비스와 대규모 서비스의 차이 서버 몇 대 정도의 소규모 서비스에는 없는, 대규모 서비스에만 있는 문제나 어려움에는 어떠한 것이 있을까? 1. 확장성 확보, 부하분산 필요 먼저 대량의 액세스가 있는 서비스에서는 서버 1대로는 부하를 처리할 수 없는 경우가 대 다수이다. 이때, 서버 1대로 처리할 수 없는 부하를 어떻게 처리할 것인가가 가장 큰 문제이다. 이러한 문제를 해결하기 위한 전략에는 크게 두 가지 전략이 있다. 스케일업 (Scale-Up) 하드웨어의 성능을 높여 처리능력을 끌어올리는 방법 스케일아웃 (Scale-Out) 서버를 횡으로 전개, 즉 서버의 역할을 분담하거나 대수를 늘림으로써 시스템의 전체적인 처리능력을 높여서 부하를 분산하는 방법 스케일 아웃 전략을 통해 저가의 하드웨어를 횡으..

    RAID 정리 (RAID 개념 및 종류)

    RAID Redundant Array of Inexpensive Disk or Redundant Array of Independent Disk 여러 물리적 디스크를 묶어서 그룹으로 만들어 하나의 논리적인 디스크처럼 사용하는 기술 논리적 디스크를 LU(Local Unit)이라고 한다. 효과 안정성 확보 HDD에 장애가 발생해도 데이터가 손실되지 않도록 데이터 기록을 이중화한다. 성능 향상 RAID에서는 RAID 컨트롤러가 미리 정해 놓은 길이로 I/O를 분할해서 복수의 HDD에 대해 병렬로 I/O 처리를 한다. 참고로, 이 고정 길이를 RAID의 스트라이프 크기라고 부른다. 용량 확장 논리 HDD는 HDD의 물리적 한계 (용량적)를 넘어서 자유롭게 용량을 결정할 수 있다. RAID 수준 RAID 수준에는 ..

    [그림으로 공부하는 IT인프라 구조] 8장 정리

    응답과 처리량 시스템 성능을 가리킬 때 응답과 처리량이라는 지표가 자주 사용된다. 응답 처리 하나당 소요 시간을 의미. 응답이 걸리는 시간 처리량 단위 시간당 처리하는 양 초당 받아들이는 사용자 수 퍼센타일 실제 시스템에서는 단일 사용자 응답만으로는 부족하기 때문에 여러 사용자의 평균값을 이용한다. 이때 통계학에서 사용되는 퍼센타일 개념을 이용한다. 극단적으로 응답 시간이 긴 사용자는 다른 문제를 내포하고 있을 수 있기 때문에 오차라고 생각하고 평균값에 포함하지 않는다. 병목 현상 처리량을 제한하고 있는 요인 병목 지점 병목 현상이 발생하는 위치 병목 현상은 어떻게 해결하는가? 성능 분석의 시작은 먼저 이 병목 현상이 발생하고 있는 위치를 정확히 파악하는 것이다. 이를 위해서는 각 서버의 처리량이나 응답..