LabHub

부하 테스트 · 병목 찾기 · 퀴즈

퀴즈: 병목 찾기

LabHub 에서 이어서 보기

문항 5개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 동시성을 10배로 올렸는데 처리량은 그대로이고 p95 만 10배가 됐다. 가장 타당한 결론은?

    1. 부하 생성기가 고장 났다
    2. 네트워크 대역폭이 이미 포화된 상태다
    3. 처리 단계가 직렬화되어 있어 늘어난 요청이 전부 대기로 쌓이고 있다
    4. 캐시 적중률이 떨어졌다
  2. HikariCP 기본 풀 10 과 Tomcat threads.max 기본 200 이 만났을 때 벌어지는 일과 그 해결은?

    1. 커넥션이 남아돈다 — 풀을 5로 줄인다
    2. 스레드가 부족한 것이다 — threads.max 를 500 으로 올리고 풀은 그대로 둔다
    3. DB 가 느려진다 — 인덱스를 추가한다
    4. 대부분의 스레드가 커넥션 대기에 빠진다 — 풀을 30으로 올리고 connection-timeout 을 5초로 줄이며 threads.max 는 오히려 50으로 축소한다
  3. 커넥션 풀을 키웠는데도 대기가 계속 길다면?

    1. 점유 시간이 길다는 뜻이므로 느린 쿼리나 긴 트랜잭션을 고쳐야 한다
    2. 풀을 두 배로 더 키운다
    3. 스레드 풀도 함께 키운다
    4. 타임아웃을 늘려 대기를 허용한다
  4. 허용 대기 시간 200ms, 평균 처리 20ms, 워커 10개일 때 큐 길이 상한의 대략적인 값과 그 이유는?

    1. 10 — 워커 수와 같아야 하므로
    2. 100 — 허용 대기 시간을 평균 처리 시간으로 나눈 값이므로
    3. 1000 — 여유를 크게 두어야 하므로
    4. 무한 — 요청을 버리면 안 되므로
  5. 커넥션 풀 초기값 공식으로 저자가 제시한 것은?

    1. (코어 수 × 2) + 디스크 축 수
    2. 동시 사용자 수 ÷ 10
    3. 인스턴스 수 × 10
    4. 최대 RPS ÷ 100