본문 바로가기

sql_tuning

Section2. OLTP와 BATCH 그리고 I/O Latency와 Throughput의 이해

728x90
반응형

[출처: 오라클 성능 분석과 인스턴스 튜닝 핵심 가이드]

 

OLTP와 Batch 그리고 I/O Latency와 Throughput

  • OLTP (On-Line Transaction Processing)는 실시간으로 DB 데이터를 조회/갱신 하는 시스템
    • 대부분의 업무 시스템 (금융/통신/ERP 등 조회업무, 쇼핑몰 주문, 콘서트 예매 등)
      • 즉 대량의 동시접속이 요구 되는 시스템
    • 건당 매우 빠른 수행 시간이 생명(보통 0.01~1초 이하)
    • 빠른 수행 시간을 위해 I/O Latency 가 우선시 됨 
      • Latency란? 시스템 리퀘스트에 대해 얼마나 response가 얼마나 빠르게 오냐?
  • Batch Processing은 작업을 몰아 두었다가 한 번에 처리하는 시스템
    • 주로 야간, 주말, 월말 등 정산/마감/통계 생성 등 대량의 데이터를 일괄 처리하는 프로세스
    • 대량의 데이터를 처리 성능을 위해 I/O Throughput이 우선시 됨.
      • Throughput 이란? 한 번 처리를 했을 때 얼마나 많은 데이터를 처리 할 수 있느냐?

 

I/O Latency 와 Throughput 그리고 IOPS

  • Latency
    • 시스템에서 I/O가 요청 되었을 때 이를 수행하는 데 걸리는 시간. 보통은 I/O 시 Delay 시간을 의미.
    • Disk 기반 스토리지에서는 보통 milliseconds 단위로 측정. (1/100초)
  • Throughput
    • 정해진 시간 동안(보통은 1초) 얼마나 많은 데이터를 처리 할 수 있는지를 나타내는 지표.
    • 모든 자원을 다 사용하여 데이터를 한 번에 처리 하고자 함 (따라서 야간에 작업 함).
    • 주간에 돌려야 한다면 특정 리소스만 점유할 수 있도록 제약 줄 것.
  • IOPS (I/O Per Seconds)
    • 초당 I/O 횟수. 보통 IOPS는 Sequential, Random 으로 분리하여 측정
      • 일반적으로 IOPS가 높을 수록 Latency 가 빠름.
      • Throughput 은 IOPS * I/O size 
        • 예를 들면 IOPS*I/O size = 2000 * 8K 라면, Throughput 은 16M 이 됨.
728x90
반응형