디스크 성능 분석

디스크 성능의 이해

디스크 I/O는 상당한 어플리케이션 지연을 일으킬 수 있음

디스크 I/O 성능 개선 방법

1) 하드디스크 → SSD 교체

  • 랜덤한 읽기 성능 개선

  • 처리량, IOPS 다 우세함

SSD의 가격 이슈로 여전히 HDD도 사용됨

HDD는 대규모 스트리밍 데이터 저장에는 유용하게 사용 가능

I/O 스케줄러

  • 블록 I/O 성능을 향상 시키기 위해 블록 I/O 요청을 병합하고 정렬하는 역할 수행

  • 지연된 블록 I/O 요청들에게 디스크 I/O 자원을 골고루 분배

스케줄러 타입

  • deadline : 각 I/O 요청의 시작 시간을 보장

  • cfq : 완전히 공정한 대기열. 프로세스간 I/O를 고정하게 할당

  • noop : 요청을 정렬하지 않음

  • none (멀티큐) : 요청을 정렬하지 않음

  • mq-deadline (멀티큐) : 각 I/O 요청의 시작 시간을 보장

고려할 내용

탐색 시간이 비싸고 같은 위치에 있는 요청을 병합하는 것이 최적인 HDD에 유용, SSD에서는 효과가 적음

가상환경에서는 호스트가 자체 스케줄링을 제공

클라우드 환경에서는 워크로드가 I/O 바운드한 앱이 아닌 경우, 어떤 스케줄러를 쓰던 극적인 효과를 보기 힘듬

Last updated