서버 연결됨
🔌
REST API
GET/POST/PUT/DELETE 엔드포인트에 대량 요청을 발생시켜 응답시간 및 처리량을 측정합니다.
HTTPJSONAuth
🌐
웹페이지 로딩
페이지 로드 시간, TTFB, DOM 렌더링 완료까지의 성능을 측정합니다.
TTFBDOMLighthouse
🔗
WebSocket
대량의 소켓 연결을 유지하며 메시지 송수신 속도와 연결 안정성을 테스트합니다.
WSSocket.IO실시간
💠
GraphQL
Query, Mutation, Subscription에 대한 부하를 테스트하고 resolver 성능을 분석합니다.
QueryMutationN+1
🚦
WaitQueue 대기열
wrs.nomadkr.net — Socket.io + Redis Sorted Set 기반 접속자 대기열. 슬롯 경계, FIFO 순서, 호출 타임아웃, 재접속 복원을 검증합니다.
Socket.ioRedis LuaFIFO150슬롯
1 요청 대상
Target URL 필수
HTTP Method
Content-Type
Headers JSON
Request Body POST/PUT/PATCH
2 부하 설정
동시 사용자 (VU)
100
12,5005,0007,50010,000
초당 요청 수 (RPS)
500
112.5K25K37.5K50K
테스트 지속시간
Ramp-up 시간
Ramp-down 시간
부하 곡선 미리보기
ramp-up 100 VU / 500 RPS ramp-down
3 고급 옵션
SSL 인증서 검증 무시
자체 서명 인증서를 사용하는 서버 테스트 시
Keep-Alive 연결 유지
TCP 연결을 재사용하여 실제 브라우저와 유사한 환경
자동 리다이렉트 추적
3xx 응답 시 자동으로 리다이렉트를 따라감
응답 Body 수집
응답 본문을 저장 (메모리 사용량 증가)
타임아웃 (ms)
성공 기준 (응답시간 ms 이하)
테스트 진행 중
00:00 / 00:00
0%
총 요청
0
목표: -
현재 RPS
0
목표: -
성공률
0%
0 / 0
평균 응답시간
0ms
P95: -
에러
0
5xx: 0 / 4xx: 0
응답시간 (실시간)
평균
P95
P99
RPS / 에러율
활성 가상 사용자 (VU)
Active
실시간 로그
🔗 https://wrs.nomadkr.net
Node.js 20 + Express + Socket.io 4.x
Redis 7 (Sorted Set 대기열) + MariaDB
Nginx 리버스프록시 + PM2 클러스터(×2)
목표: 150 슬롯 / 1,000 대기
Socket.io 서버 URL
Socket.io Path 서버가 prefix 사용 시 (예: /WRS/socket.io/)
Socket.io Namespace
동시 접속 (VU)
1,000
10150 (슬롯)1,150 (한계)
동시접속 슬롯 (max_slots)
50
1050100150
접속 패턴
호출 타임아웃 (queue:call:{token} TTL)
Heartbeat 간격 / 미수신 허용 초 × 횟수
×
자동모드 호출 속도 (초/명)
슬롯 경계 Race Condition
ADMIT_CHECK Lua Script 원자성 검증
FIFO 순서 보장 (ZRANK)
Redis Sorted Set joinTimestamp 순서
호출 타임아웃 → 자동 당김
180초 후 queue:expired → ZPOPMIN 다음호출
토큰 재접속 복원
queue:join({token}) → HGETALL 상태 복원
브로드캐스트 부하 측정
queue:status N명 동시 전송 시간
위조 토큰 거부
JWT 서명 위변조 + 존재하지 않는 토큰
Heartbeat 세션 만료
30초×3회 미응답 → 슬롯 해제 → 자동 당김
슬롯 동적 변경 중 안정성
admin:setSlots(150→50→150) 부하 중 변경
WaitQueue 파이프라인 — Socket.io + Redis
🤝
WS Handshake
0
🔑
ADMIT_CHECK
Lua Script
대기열 (ZADD)
0
📢
호출 (ZPOPMIN)
queue:called
입장 (SADD)
0
💓
Heartbeat
30s×3
WS Handshake P95
-
queue:join→status P95
-
slots:active 정확도
-
FIFO 순서 정확도
-
호출→입장 딜레이
-
broadcast 전송시간
-
재접속 복원 성공
-
타임아웃→다음호출
-
Race Condition
-
Redis 대기열(queue:waiting) + 활성 슬롯(slots:active)
대기열 크기 (ZCARD)
활성 슬롯 (GET)
만료/이탈
Socket.io 이벤트 타임라인 검증
재접속 + 보안 검증
종합 등급
-
-
평균 응답시간
-
-
성공률
-
-
최대 처리량
-
-
응답시간 퍼센타일 분포
퍼센타일응답시간분포판정
테스트 결과 없음
에러 상세 분석
에러 코드건수비율주요 원인
에러 데이터 없음
테스트명 유형 일시 VU 요청 수 평균 응답 성공률 등급 판정
테스트 이력이 없습니다
총 테스트
-
평균 등급
-
PASS 비율
-
최근 7일
-
유형별 분포
등급별 분포
테스트 비교
VS