LabHub
배우기 러닝패스 코스

연결 하나가 느려지자 나머지가 전부 멈췄다 · 줄이 한 사람 때문에 멈춘다 · 퀴즈

퀴즈: 줄이 한 사람 때문에 멈춘다

LabHub 에서 이어서 보기

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

  1. 순차 서버에서 느린 손님이 먼저 붙으면 뒤에 선 손님은?

    1. 앞사람이 끝날 때까지 응답을 받지 못한다
    2. 연결이 거부되어 즉시 오류를 받는다
    3. 다른 작업 흐름으로 옮겨져 먼저 처리된다
    4. 듣기 큐 덕분에 평소와 같은 시간에 답을 받는다
  2. 블로킹 모드에서 프로세스를 세울 수 있는 호출의 조합은?

    1. bind 와 listen 과 close
    2. accept 와 recv 와 send
    3. socket 과 setsockopt 와 bind
    4. getsockname 과 fileno 와 close
  3. listen 의 backlog 를 크게 적으면 어떻게 되나요?

    1. 커널 설정과 무관하게 그 값이 그대로 쓰인다
    2. 값이 클수록 응답 지연이 함께 줄어든다
    3. somaxconn 보다 크면 조용히 그 값으로 깎인다
    4. 그만큼의 처리 흐름이 함께 만들어진다
  4. 순차 서버가 막혔을 때 흔히 보이는 지표의 모습은?

    1. CPU 사용률이 먼저 100퍼센트로 올라간다
    2. 메모리 사용량이 계단처럼 급히 늘어난다
    3. 디스크 입출력 대기가 가장 먼저 늘어난다
    4. CPU 는 한가한데 응답 시간의 꼬리만 길어진다
  5. 느린 손님이 있는데도 헬스체크가 통과하는 이유는?

    1. 헬스체크 요청은 커널이 직접 응답하기 때문에
    2. 헬스체크는 곧바로 요청을 보내 자기 차례에서 빨리 끝나서
    3. 헬스체크 경로에는 블로킹 호출이 없도록 커널이 보장해서
    4. 헬스체크는 듣기 큐를 건너뛰고 먼저 처리되기 때문에
  6. 구조를 바꾸기 전에 먼저 재 두어야 하는 이유는?

    1. 측정을 남겨야 개선 여부를 말할 수 있어서
    2. 측정하지 않으면 커널이 다중화를 허용하지 않아서
    3. 측정값이 backlog 의 기본값을 결정하기 때문에
    4. 측정 도구가 소켓을 논블로킹으로 바꿔 주기 때문에