도착률과 서비스율로부터 단일 서버 M/M/1 큐의 평균 대기 시간, 응답 시간, 큐 길이, 이용률을 계산한다.
입력
도착률과 서비스율
단위 시간당 도착하는 평균 요청 수(λ)이다. 서비스율과 동일한 시간 단위를 사용한다.
단일 서버가 계속 작업 중일 때 단위 시간당 처리할 수 있는 평균 요청 수(μ)이다.
결과
값을 입력하면 계산 결과가 표시됩니다.
응답
도착률 8에서 하나의 요청이 시스템에 머무는 평균 시간으로, 대기 시간과 서비스 시간을 합한 값이다.
대기 중인 요청과 처리 중인 요청을 모두 합한, 시스템에 존재하는 평균 요청 수이다.
큐 지표
%
서버가 작업 중인 시간의 비율로, 도착률 8을(를) 서비스율 10(으)로 나눈 값과 같다.
아직 처리되지 않고 큐에서 대기하는 평균 요청 수이다.
하나의 요청이 서비스가 시작되기 전 큐에서 대기하는 평균 시간이다.
M/M/1 큐
M/M/1 큐는 큐잉 이론의 기초가 되는 모델이다. 단일 서버가 무작위로 도착하는 요청을 무작위 서비스 시간으로 처리한다. 요청이 얼마나 빠르게 도착하는지와 서버가 얼마나 빠르게 처리하는지, 두 수치만으로 평균 대기 시간, 평균 응답 시간, 그리고 큐가 얼마나 길어지는지를 예측한다. 이 계산기는 이 값들을 서버의 이용률과 함께 반환한다.
명칭의 의미
이 표기는 켄들 분류를 따른다. 첫 번째 M은 도착이 마르코프 성질을 가짐을, 즉 푸아송 과정을 따름을 의미한다. 각 도착은 서로 독립적이며 임의 구간 내의 도착 수는 무작위이다. 두 번째 M은 서비스 시간이 지수 분포를 따름을 뜻한다. 1은 서버의 수이다. 따라서 M/M/1은 "무작위 도착, 무작위 서비스, 단일 서버, 무한 큐, 순서대로 처리"를 의미한다.
이용률이 모든 것을 결정한다
가장 중요한 양은 이용률, 즉 서버가 작업 중인 시간의 비율이다.
여기서 는 도착률, 는 서비스율이며 둘 다 같은 시간 단위로 표시한다. 시스템은 일 때에만 안정적이다. 요청이 처리될 수 있는 속도와 같거나 그보다 빠르게 도착하면 적체가 한없이 늘어난다. 로부터 정상 상태 평균값들이 도출된다.
여기서 은 시스템 내 평균 개수, 는 대기 중 평균 개수, 는 평균 응답 시간, 는 서비스 전 평균 대기 시간이다.
계산 예시
한 서버가 초당 10건의 요청을 처리하고() 초당 8건을 받는다(). 이용률은 이며 다음과 같다.
WL=μ−λ1=10−81=0.5s=1−ρρ=0.20.8=4
즉 하나의 요청은 평균적으로 0.5초를 시스템에 머물고, 임의의 순간에 네 개의 요청이 존재한다. 서버가 80%만 작업 중임에도 응답 시간은 원래 서비스 시간 0.1초의 다섯 배에 달하며, 그 대부분은 대기 시간이다.
높은 이용률의 위험
가 모든 식의 분모에 자리하므로, 서버가 포화에 가까워질수록 지표들이 가파르게 상승한다. 이용률 90%에서 시스템 내 평균 개수는 9이고, 95%에서는 19, 99%에서는 99이다. 이러한 비선형 폭증 때문에 용량 설계자는 자원을 100% 가까이 돌리기보다 여유를 남겨 둔다. 같은 평균화 개념이 리틀의 법칙 계산기의 바탕에 깔려 있으며, 이는 특정 분포를 가정하지 않고 동시성, 처리량, 지연 시간을 연결한다.
M/M/1 모델은 지수 분포를 따르는 서비스 시간과 무한 큐 공간을 가정하는데, 실제 시스템이 이를 정확히 만족하는 경우는 드물다. 그 예측은 보수적인 지침으로 다루는 것이 좋다. 서비스 시간이 지수 분포보다 더 규칙적이면 실제 대기 시간은 보통 더 짧다.
자주 묻는 질문 (FAQ)
M/M/1 큐란 무엇인가?
M/M/1 큐는 가장 단순한 큐잉 모델이다. 단일 서버, 푸아송 과정을 따라 무작위로 도착하는 요청(첫 번째 "M"은 마르코프 성질을 뜻한다), 그리고 지수 분포를 따르는 서비스 시간(두 번째 "M")으로 구성된다. "1"은 서버의 수이다. 단순한 구조에도 불구하고 많은 단일 자원 시스템의 본질적 거동을 포착하며, 대기 시간, 응답 시간, 큐 길이에 대한 닫힌 형태의 식을 제공한다.
여기서 이용률은 무엇을 의미하는가?
이용률(ρ)은 서버가 작업 중인 시간의 비율로, 도착률을 서비스율로 나눈 값과 같다(ρ = λ / μ). 이용률이 80%이면 서버는 전체 시간의 80% 동안 점유되어 있다. 이 모델은 이용률이 100% 미만일 때에만 안정적이며, 그 지점에 도달하거나 이를 넘어서면 요청이 처리되는 속도보다 빨리 도착하여 적체가 한없이 늘어난다.
서버가 완전 이용률에 가까워질수록 대기 시간이 폭증하는 이유는 무엇인가?
시스템 내 평균 개수는 ρ / (1 − ρ)이고 응답 시간은 1 / (μ − λ)이다. 두 값 모두 분모에 (1 − ρ) 인수를 포함하므로, 이용률이 100%에 가까워질수록 무한대로 발산한다. 이용률을 80%에서 90%로 올리면 평균 큐가 대략 두 배가 되고, 90%에서 95%로 올리면 다시 두 배가 된다. 이러한 비선형 폭증 때문에 용량 설계자는 작업 중인 자원을 포화점 가까이 짜내기보다 포화점에서 충분히 낮게 유지하려 한다.
이 모델의 가정과 한계는 무엇인가?
M/M/1 모델은 푸아송 도착, 지수 분포를 따르는 서비스 시간, 단일 서버, 무한 큐, 선입선출 순서를 가정한다.
실제 시스템은 이러한 가정을 위반하는 경우가 많다. 서비스 시간은 지수 분포보다 더 규칙적일 수 있고, 트래픽은 폭주성을 띨 수 있으며, 큐는 유한하다. 따라서 이 모델은 직관을 얻거나 대략적인 용량을 추정하는 데 가장 적합하다. 서비스 시간의 변동이 적은 경우 실제 대기 시간은 보통 M/M/1이 예측하는 것보다 짧다.