devops

Throughput, Latency 그리고 병목 구간 본문

DevOps

Throughput, Latency 그리고 병목 구간

vata500 2022. 7. 20. 13:55
반응형

시스템 성능을 파악하는데 주요 메트릭은 Throughput과 Latency다.

https://networkshardware.com/throughput-vs-latency/

Throughput

시간당 처리량을 의미한다. 1초에 처리하는 HTTP 요청(Request) 수 혹은 네트워크로 전송되는 데이터 전송 속도가 대표적이다.

Throughput을 개선하기 위해서는 병목 구간이 어디인가를 먼저 파악하는 것이 중요하다. 대체로 2가지의 개선방법이 있다.

  • 어플리케이션 개선 : 개발된 어플리케이션을 개선하는 것이다. 현상을 먼저 파악 (APM, Application Performance Monitoring)을 시작으로, 알고리즘 개선, I/O 최소화 등의 개선 방안이 따른다. DevOps가 이를 모니터링하고 개발자가 여러 도구를 통해서 개선해야한다.
  • 하위 시스템의 확장 : 대부분 Throughput 개선이 Latency 개선으로 이어진다. 이는 '대기 시간'의 문제기 때문에 실행 환경(하위 시스템)의 성능을 최대한 활용할 수 있으면 Throughput도 개선되고 대기 시간도 줄어든다. 

Latency

처리 시간을 의미한다. 네트워크 상황을 고려하지 않은 시스템이 요청을 받고 응답을 줄때까지의 시간을 의미한다.

응답 성능의 병목 원인 그리고 대책

다양한 문제들로 인해 응답 성능의 병목이 발생한다. 이를 해결하기 위해선 부하 테스트를 통해서 응답 성능을 예측할 수 있다.

  • 성능 파악을 위해 대체로 아래와 같은 시나리오가 요구된다.
  • 많은 사용자의 서비스 등록
  • 많은 데이터 저장
  • 단기간 동안 사용자 요청 증가
  • 배치 작업을 진행하는 DB
  • 많은 양의 로그 수집 처리
  • 시스템 재시작 후의 캐시 초기화

 

반응형
Comments