진입 허용 수 설정
"진입 허용 수 설정"은 동시에 서비스에 액세스할 수 있는 사용자 수를 결정하는 핵심 트래픽 제어 메커니즘으로, 서버 용량 및 사용자 흐름을 관리하는 주요 방법입니다. 이 가이드는 기본 제어 세그먼트의 고정형 및 변동형 진입 허용 수에 대해 다룹니다.

개요
진입 허용 수는 NetFUNNEL의 서비스 사용자 액세스를 제어하는 기본 개념으로, 동시에 활성화할 수 있는 최대 진입 허용 수를 설정합니다. 사이트를 방문할 수 있는 총 사용자 수를 제한하는 것이 아니라, 서버 리소스를 동시에 점유할 수 있는 사용자 수를 제어하는 것입니다.
핵심 개념
진입 허용 수는 동시간 최대 수용 인원 제한을 설정하는 것과 같습니다. NetFUNNEL은 이 진입 허용 수를 관리하는 호스트 역할을 하여 서버 운영을 돕습니다.
이 제어 방식의 장점은 서버 과부하가 발생하기 전에 이를 방지한다는 것입니다. NetFUNNEL은 시스템이 충돌하기 전에 서비스에 진입하는 사용자 흐름을 사전에 제어합니다. 이것은 서버가 트래픽 급증 중에도 일관된 성능을 유지할 수 있음을 의미하며, 인프라와 사용자 경험을 모두 보호합니다.
주요 동작: 제한을 초과할 때만 대기 발생
사용자는 활성 사용자 수가 진입 허용 수를 초과할 때만 대기를 경험합니다. 진입 허용 수가 100명으로 설정되어 있고 현재 50명의 활성 사용자가 있는 경우, 다음 50명의 사용자는 대기 경험 없이 직접 서비스로 진행합니다.
101번째 사용자가 서비스에 액세스하려고 할 때만 NetFUNNEL이 개입해 대기를 요청합니다. 이때 진입 허용 수는 보호 임계값 역할을 합니다. 제한 내의 사용자는 즉시 액세스 하고, 그외 사용자는 충돌이나 타임아웃을 겪는 대신 대기실로 이동합니다.
통합 접근 방식 관점
진입 허용 수를 해석하고 적용하는 방법은 통합 방법에 따라 다릅니다:
URL 트리거 통합 (UTI)
UTI에서 진입 허용 수는 대기실에서 대상 페이지 완료까지의 페이지 액세스 속도를 제어합니다.
의미: 대기실에서 완전히 로드된 대상 페이지로 성공적으로 전환할 수 있는 초당 사용자 수를 제한합니다. 진입 허용 수를 100으로 설정하면 초당 100명의 사용자가 페이지 로딩 프로세스를 완료할 수 있습니다.
실용적 해석: 이것은 페이지 로드 속도를 제어하고 특정 페이지로의 트래픽 흐름을 관리하는 것으로, RPS(초당 요청 수) 제한과 유사합니다.
코드 기반 통합 (CBI)
CBI에서 진입 허용 수는 nfStart() 및 nfStop() 호출 사이의 동시 세션 수를 제어합니다.
의미: 동시에 특정 비즈니스 로직 세그먼트를 실행할 수 있는 사용자 수를 제한합니다. 예를 들어, 진입 허용 수를 50으로 설정하면 동시에 50명의 사용자만 결제 거래를 활발히 처리할 수 있습니다.
실용적 해석: 이것은 API 호출, 데이터베이스 트랜잭션 또는 인증 프로세스와 같은 리소스 집약적 작업의 동시 실행을 제어하는 것입니다.
진입 허용 수 유형
NetFUNNEL은 진입 허용 수를 설정하는 두 가지 접근 방식을 제공합니다:
고정형
고정형 진입 허용 수 설정은 서비스 운영 전반에 걸쳐 일정한 진입 허용 수를 유지합니다. 오전 2시든 오후 2시든 시스템은 동일한 최대 동시 사용자 수를 허용합니다.
이 접근 방식은 예측 가능하고 안정적인 트래픽 패턴이 있을 때 가장 잘 작동합니다. 예를 들어, 근무 시간 동안 일관된 사용량을 경험하는 비즈니스 애플리케이션을 운영하는 경우, 고정 제한은 동적 조정의 복잡성 없이 안정적인 성능을 보장합니다.
고정 제한의 단순성으로 인해 모니터링 및 문제 해결이 더 쉬워집니다. 복잡한 스케줄링 규칙을 관리하는 대신 알려진 용량 제약 내에서 애플리케이션의 성능을 최적화하는 데 집중할 수 있습니다.
변동형
변동형 진입 허용 수를 사용하면 NetFUNNEL이 측정된 처리 시간을 기반으로 진입허용수를 자동으로 조정할 수 있습니다. NetFUNNEL은 서버의 응답 시간을 모니터링하고 최적의 성능을 유지하기 위해 진입허용수를 동적으로 증가 또는 감소시킵니다.
작동 방식: NetFUNNEL은 요청을 처리하는 데 걸리는 시간(처리 시간)을 지속적으로 측정합니다. 서버가 빠르게 응답하면 진입허용수를 증가시켜 더 많은 사용자를 허용합니다. 응답 시간이 느려지면 과부하를 방지하기 위해 진입허용수를 감소시킵니다.
구성 요구 사항: 숫자만 입력하는 고정형과 달리, 변동형은 두 가지 범위를 설정해야 합니다:
- 처리 시간 범위: 어떤 응답 시간이 "좋음"과 "느림"으로 간주되는지 정의 (예: 1-3초)
- 진입허용수 범위: 자동 조정을 위한 최소 및 최대 진입 허용 수 설정 (예: 50-300명)
먼저 고정형으로 시작하는 것을 권장합니다. 트래픽 패턴과 서버 동작을 이해하기 위해 몇 주 동안 서비스를 모니터링한 후, 적절한 범위를 설정할 충분한 데이터가 있으면 변동형을 고려하세요.
구성 프로세스
진입 허용 수 설정
-
진입 허용 수 설정 콘솔 액세스
- 기본 제어 세그먼트로 이동
- "진입 허용 수 설정" 섹션으로 이동
-
고정형으로 시작 (권장)
- 진입 허용 수로 단일 숫자(양의 정수) 입력
- 이것은 가장 간단한 접근 방식이며 초보자에게 권장됨
- 예: "100"을 입력하여 100명의 동시 사용자 허용
-
고정 제한 구성
- 아래 계산 팁을 사용하여 시작 값 결정
- 계산된 진입 허용 수 값 입력
- 구성 저장
-
설정 테스트
- 실시간 사용자 수에 대한 콘솔 모니터링
- 제한을 초과할 때만 대기가 발생하는지 확인
- 제한 내의 사용자가 정상적으로 진행하는지 확인
테스트 목적으로 진입 허용 수를 0으로 설정하여 모든 사용자를 대기실 또는 대기 화면으로 강제할 수 있습니다. 이것은 다음에 유용합니다:
- 대기실/화면이 올바르게 표시되는지 확인
- 실제 액세스를 허용하지 않고 에이전트 통합 테스트
- 라이브 전에 대기 메커니즘이 예상대로 작동하는지 확인
- 나중에 변동형 고려
- 고정형을 몇 주 동안 모니터링한 후
- 트래픽 패턴과 서버 동작을 이해했을 때
- 적절한 처리 시간 및 진입허용수 범위를 설정할 데이터가 있을 때
진입 허용 수 계산 팁
적절한 진입 허용 수 값은 간단하게 계산할 수 있습니다. 다음은 실용적인 접근 방식입니다:
방법 1: 보수적으로 시작하고 조정
최적 대상: 대부분의 상황, 특히 확실하지 않을 때
- 낮은 숫자로 시작: 10-20명의 사용자로 시작
- 일주일 동안 모니터링: 서버 메트릭 및 사용자 경험 관찰
- 점진적으로 증가: 서버가 안정적일 경우 며칠마다 10-20% 증가
- 문제가 보이면 중지: 응답 시간이 증가하거나 오류가 발생하면 제한 감소
방법 2: 서버 용량 기반 추정
최적 대상: 서버 모니터링 데이터가 있을 때
- 현재 피크 사용량 확인: 바쁜 시간 동안의 서버 메트릭 확인
- 편안한 운영 지점 찾기: CPU/메모리 사용량이 약 60-70%인 지점 물색
- 동시 사용자 추정: 해당 지점에서의 동시 사용자 수 파악
- 해당 숫자의 80%로 제한 설정: 20%의 여분 마진으로 안정성 확보
방법 3: 비즈니스 로직 기반 접근
최적 대상: 병목 현상을 알고 있을 때
- 가장 느린 작업 식별: 처리 시간이 가장 긴 작업 파악
- 처리 시간 추정: 평균 처리 시간 도출
- 대략적인 진입 허용 수 계산: 해당 처리 시간을 바탕으로 진입 허용 수 조정 (예: 2초가 걸리는 작업에 1초 응답을 원한다면 이론적 최대값의 절반으로 제한)
- 안전 계수 적용: 안정성을 위해 해당 숫자의 20-30% 감소
빠르게 시작해야 하는 경우 다음 기본값을 사용하세요:
| 서비스 유형 | 권장 시작 제한 |
|---|---|
| 결제/인증 | 10-20명 |
| 데이터베이스 작업 | 20-40명 |
| API 엔드포인트 | 30-60명 |
| 콘텐츠 페이지 | 50-100명 |
| 전자상거래 체크아웃 | 15-25명 |
1-2주: 보수적 제한으로 모니터링
- 서버 메트릭 관찰 (CPU, 메모리, 응답 시간)
- 사용자 대기 시간 추적
- 오류율 모니터링
3주 이상: 점진적 최적화
- 서버 리소스가 미사용되고 대기 시간이 길면 제한 증가
- 응답 시간이 증가하거나 오류가 발생하면 제한 감소
- 급격한 변경이 아닌 10-20%씩 조정
- 서버 응답 시간 > 정상의 2배: 즉시 제한 감소
- 오류율 > 1%: 제한을 50% 감소
- CPU 사용량 > 80%: 제한을 30% 감소
- 데이터베이스 연결 풀 고갈: 제한을 크게 감소
고급 구성 옵션 및 통합 세부 사항은 기본 제어 세그먼트 개요 및 기본 설정 문서를 참조하세요.