1. 설정

1-1. K6 설치 및 바이너리 파일 생성

brew install go;
go install go.k6.io/xk6/cmd/xk6@latest

~/go/bin/xk6 build v0.49.0 \\\\n  --with github.com/phymbert/xk6-sse@v0.1.12 \\\\n  -o ./k6

현재 경로에 k6 라는 바이너리 파일이 생성된다.

2. 결과

2-1. 접속 테스트

테스트 스크립트

2-1-1. 8,000명 접속 테스트

실시간 SSE 연결 상태.png

█ THRESHOLDS 

    latency
    ✓ 'p(95)<5000' p(95)=204

    sse_conn_alive_ms
    ✓ 'p(95)<90000' p(95)=0

    sse_connection_errors
    ✓ 'count<50' count=0

    sse_open_ok
    ✓ 'rate>0.9' rate=100.00%

    sse_stayed_full
    ✓ 'rate>0.85' rate=100.00%

█ TOTAL RESULTS 

  CUSTOM
  latency..................: avg=90.072375 min=34 med=81 max=273 p(90)=137 p(95)=204
  sse_conn_alive_ms........: avg=0         min=0  med=0  max=0   p(90)=0   p(95)=0  
  sse_event................: 6665   39.19006/s
  sse_messages_received....: 8000   47.039832/s
  sse_open_ok..............: 100.00% 8000 out of 8000
  sse_sessions_completed...: 6665   39.19006/s
  sse_stayed_full..........: 100.00% 7494 out of 7494

  EXECUTION
  vus......................: 128    min=48      max=8000
  vus_max..................: 8000   min=8000    max=8000

  NETWORK
  data_received............: 3.9 MB 23 kB/s
  data_sent................: 4.4 MB 26 kB/s

8,000명 SSE 연결에 성공하였다.

2-1-2. 9,000명 접속 테스트 (1)

실시간 SSE 연결 상태 (1).png

█ THRESHOLDS 

    latency
    ✓ 'p(95)<5000' p(95)=190

    sse_conn_alive_ms
    ✓ 'p(95)<90000' p(95)=0

    sse_connection_errors
    ✓ 'count<50' count=0

    sse_open_ok
    ✓ 'rate>0.9' rate=0.00%

    sse_stayed_full
    ✓ 'rate>0.85' rate=0.00%

█ TOTAL RESULTS 

  CUSTOM
  latency..................: avg=62.712001 min=30     med=53     max=322    p(90)=77     p(95)=190   
  sse_conn_alive_ms........: avg=0         min=0      med=0      max=0      p(90)=0      p(95)=0     
  sse_connection_retries...: 1384   8.138818/s
  sse_event................: 7497   44.087223/s
  sse_messages_received....: 8191   48.168393/s
  sse_open_ok..............: 0.00%  0 out of 0
  sse_sessions_completed...: 7497   44.087223/s
  sse_stayed_full..........: 0.00%  0 out of 0

  HTTP
  http_req_duration........: avg=14.83s    min=14.82s med=14.83s max=14.85s p(90)=14.83s p(95)=14.84s
  http_reqs................: 1384   8.138818/s

  EXECUTION
  vus......................: 152    min=48      max=9000
  vus_max..................: 9000   min=9000    max=9000

  NETWORK
  data_received............: 4.0 MB 24 kB/s
  data_sent................: 4.6 MB 27 kB/s