성능 분석

웹 서비스의 응답 시간을 평가할 때 평균값뿐 아니라 99퍼센타일 값(느린 쪽 1%의 경계)을 보는 경우가 많은 이유로 올바른 것은?

  1. A평균이 좋아도 일부 요청이 매우 느릴 수 있으며, 많은 구성 요소의 응답을 기다리는 처리에서는 그 느린 응답이 전체의 느림을 결정하기 때문에
  2. B99퍼센타일 값은 반드시 평균보다 작기 때문에
  3. C평균값은 계산할 수 없기 때문에
정답과 해설 보기

정답: A. 평균이 좋아도 일부 요청이 매우 느릴 수 있으며, 많은 구성 요소의 응답을 기다리는 처리에서는 그 느린 응답이 전체의 느림을 결정하기 때문에

응답 시간의 분포는 대부분이 빠르고 극히 일부가 매우 느린 형태가 되기 쉽습니다. 평균만 보면 이 느린 부분이 가려집니다. 게다가 하나의 화면을 표시하기 위해 100개 구성 요소의 응답을 기다리는 처리에서는 어느 하나라도 느리면 전체가 느려지므로, 1%의 느린 응답이 대부분의 사용자에게 영향을 줍니다. 그래서 느린 쪽의 값(테일 레이턴시)을 목표로 삼아 관리합니다.

  • A. 올바릅니다. 테일 레이턴시라고 부릅니다.
  • B. 느린 쪽의 값이므로 보통 평균보다 큽니다.
  • C. 평균도 계산할 수 있지만 그것만으로는 불충분합니다.
이 분야 연습하기 분야로 돌아가기

성능 분석의 다른 문제

  1. 어떤 서버에 초당 100건의 요청이 도착하고 1건의 처리에 평균 0.2초가 걸린다(정상 상태로 가정). 서버 안에서 동시에 처리 중인 요청은 평균 몇 건인가(리틀의 법칙)?
  2. 서버의 사용률(바쁜 시간의 비율)이 100%에 가까워지면 요청의 대기 시간은 어떻게 되는가?
  3. 프로그램 성능을 개선할 때 프로파일러를 사용하는 목적으로 올바른 것은?
  4. 샘플링 방식 프로파일러의 특징으로 올바른 것은?
  5. 함수의 입구와 출구에 시간을 재는 코드를 넣어 기록하는 계측(인스트루멘테이션) 방식 프로파일러에 대해 올바른 것은?