wiki)
병목(영어: bottleneck) 현상은 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상을 말한다. "병목"이라는 용어는 물이 병 밖으로 빠져나갈 때 병의 몸통보다 병의 목부분의 내부 지름이 좁아서 물이 상대적으로 천천히 쏟아지는 것에 비유한 것이다.
서비스 이용시 응답 시간이 11초 가 걸렸다(로딩이 너무 길다). 무엇을 해야할까?
가장 먼저 병목을 파악해야한다.
다음과 같은 예시를 보자.
유저가 요청을 하면 응답이 되기까지 a과정과 b과정과 c과정이 있다. a는 0.1초, b는 0.9초 c는 10초가 걸린다. 각 과정은 순차적이어서 모든 과정의 소요 시간을 더하면 응답 시간이 된다고 하자.(0.1 + 0.9 + 10 = 11초)
우리의 목표가 2초 이내 응답 시간 준수라고 하면 무엇을 개선해야 할까?
a 과정을 0.01초로 만드는 것? c를 0.9초 이내로 만드는것?
우리가 고속도로에서 정체가 발생했다고 하자. 그렇다면 어디서 어느 정도 막히는지 부터 본다. 사고가 나서 해당 부분에 극심한 정체가 일어난다면 그 부분을 해소부터 해야한다. 이 때는 사고 발생 지역이 병목이다. 사고가 난 지역이 병목인데, 원활한 도로를 더 원활하게 한다고 해서 정체가 해소되지는 않는다.
가장 먼저 해야할 것은 목표를 달성하기 위해 시급한 것이 무엇인가에 대한 판단이다. 응답 과정에서의 병목을 찾고 개선하는 것이 필요하다.
'개발' 카테고리의 다른 글
4년차가 되고 나서 회고 (0) | 2023.09.27 |
---|---|
성능이 세일즈에 미치는 영향(빅테크 레퍼런스) (0) | 2023.07.31 |
평균의 함정 (0) | 2023.07.28 |
단일 장애점 (0) | 2023.07.28 |
스크럼가이드 2020 요약 (0) | 2023.05.25 |