[컴][네트워크] 동시접속자수 ?

동접의 의미 / 동접 기준 / 동시접속자 측정방법 / 동시접속자 의미 / 기준 / 시간 기준 / 동시접속자 수에서 시간단위 / ccu /

동시접속자수 ?

ref. 1 의 댓글

웹서버의 경우와 게임의 경우는 동접을 계산하는 방식이 다릅니다. 웹의 경우 Connection Less이고 온라인게임의 경우 Connection Oriented입니다. 전자의 경우 사용자의 세션( 사용자를 인식할 수 있는 메모리공간 )를 유지하고 않고 ( 한번 접속하여 페이지를 넘겨주고 나면 세션을 마감합니다. ), 후자의 경우 사용자의 세션을 계속 유지합니다. 따라서 웹서버의 경우 동접자 계산은 임의로 타임 윈도우를 설정하고 이 사이에 요청된 커넥션 숫자로 결정하는 경우가 많습니다. 그러므로 어느정도 유동적입니다. ( 타임윈도우를 어떻게 설정하느냐에 따라서 달라지니까요. ) 이에 반해 게임의 경우 사용자세션을 계속 유지해줘야 하기땜에 말 그대로 동접 ( 동접 5만이면, 5만개의 사용자세션이 유지된다는 예기입니다. )입니다.

정리하면,

  • 웹 : 임의의 시간구간을 정하고, 이 사이에 요청된 connection 숫자, 즉, request 수를 이야기한다.
  • 게임서버 (tcp/ip 서버임을 가정할 때) : 현재 유지되고 있는 connection 의 수를 이야기한다.

저렇게 정의해도 빠져있는 부분은 시간에 대한 부분이다. 과연 ’동시’라는 것이 어느 시간구간(time window) 인지 정의하지 않으면, 값은 많이 달라진다. 10초에 10만명이 동시접속자라고 한다면, 1초에는 평균적으로 1만명의 동시접속자이다. 그러면 동시접속자 수를 이야기할때 10만명이라고 해야할지, 1만명이라고 해야할 지 애매하다.

ref. 2 에 보면, 시간구간이 ‘ms~s’ 사이라고 되어 있다.

ref. 3 에 보면, 한 개발자는 second(초) 를 기준 active user 를 계산 했다. 1초 동안의 active connection 을 계산했다.

ref. 4 를 보면, concurrent users 에 대한 정의를 좀 더 잘 이해할 수 있다. IBM 쪽에서 active users 와 concurrent users 를 구분했는데, 동시에 system resource 를 요청하는 user 수를 이야기한다. 즉, request 하는 user 수 request 에 대한 response 를 기다리는 user 가 모두 user수에 잡힌다.

그리고 ref. 4 에서 자신의 “IBM Cognos BI” 에서의 ratio 를 하나 이야기하는데, 대략적으로 10명의 active user 라면, 1명의 concurreent user 가 존재한다고 한다고 이야기한다.

이 부분을 ref.3 에 대입하면, 대략적으로 1초에 대한 active user 가 있다면, ’concurrent user 수’는 0.1s 시간동안의 active user 정도가 될 것이다.

Reference

  1. PHPSCHOOL-Community > 포럼, 2016-05-02
  2. GNUJAVA, 2009
  3. Possible to calculate CCU (Concurrent User) in each vHost? · Issue #36 · vozlt/nginx-module-vts · GitHub, 2016-03-28
  4. Estimating Concurrent Users - IBM Documentation, 2021-03-03

댓글 없음:

댓글 쓰기