ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Scan API(LLM x2) Performance Test - VU 700
    이코에코(Eco²)/Performance 2026. 1. 27. 15:49

    Date: 2026-01-27 15:36 KST (06:36 UTC)
    Test Type: k6 Scan Polling Test
    Target VUs: 700
    OpenAI Tier: 4 (TPM 4,000,000)
    Snapshot: https://grafana.dev.growbin.app/d/scan-sse-pipeline/f09f93a1-scan-sse-pipeline-event-bus?from=2026-01-27T06:32:35.036Z&to=2026-01-27T06:37:41.547Z&timezone=browser&refresh=10s

    Grafana

    grafana.dev.growbin.app


    Executive Summary

     
    VU 700 테스트에서 99.2% 성공률을 달성하였습니다. Tier 4 TPM 한도(4M) 내에서 안정적으로 처리되었습니다.

    성공률99.2%-0.5%PASS
    실패 건수11+7PASS
    HTTP 429 에러0-정상
    E2E P95122.3s+13%FAIL (SLA)
    Throughput329.1 req/m-8%-

     


    1. Test Configuration

    test_info:
      target_vus: 700
      test_script: k6-scan-polling-test.js
      endpoint: https://api.dev.growbin.app/api/v1/scan
      timestamp: 2026-01-27T06:36:39.323Z
      poll_timeout: 300s
      max_poll_attempts: 150
      openai_tier: 4

    Test Timeline

    Test Start06:33:3915:33:39Ramp-up 시작
    Worker Scale-up06:34:0015:34:001 → 3 replicas
    Steady State06:34:0915:34:09VU 700 도달
    Test End06:36:3915:36:39JSON 결과 저장

    2. Test Results

    2.1 Throughput & Success Rate

    Total Submitted1,4961,4081,592+6.3%
    Total Completed1,3131,4011,494-6.3%
    Total Failed11453+7
    Success Rate99.2%99.7%96.6%-0.5%
    Reward Rate0.0%0.0%0.0%-
    Throughput329.1 req/m358.6 req/m378.7 req/m-8.2%

    2.2 Latency Distribution

    Scan Submit P95444ms360ms+23%< 500msPASS
    Poll P951,283ms922ms+39%< 500msFAIL
    E2E P95122.3s108.3s+13%< 30sFAIL
    E2E Average89.9s73.0s+23%< 20sFAIL

    2.3 Polling Statistics

    Total Poll Requests57,95547,727+21%
    Avg Polls per Task39.733.9+17%
    Poll Interval~2s~2s-

    3. Error Analysis

    3.1 Error Summary

    HTTP 429 (Rate Limit)0정상
    Rate Limit Retries0정상
    Quota Exhausted0정상
    Answer Failed0정상
    Vision Failed0정상

    3.2 Failure Breakdown (11건)

    Polling Timeout~11100%E2E > 300s
    Rate Limit00%Tier 4 TPM 4M 내
    Quota 소진00%Auto-recharge
    Total11100%-

    3.3 TPM Usage Analysis

    VU 700 TPM Estimation:
    ├─ Completed tasks: 1,313
    ├─ Estimated tokens/task: ~5,000
    ├─ Total tokens (3min): ~6,565,000
    ├─ TPM Average: ~2,188,000 tokens/min
    ├─ TPM Limit: 4,000,000 (Tier 4)
    └─ Usage: 55% of limit (Safe Zone)

    4. Infrastructure Metrics

    4.1 KEDA Scaling Events

    06:34:00scan-worker1 → 3scan.vision queue > 10
    06:34:30scan-api1 → 2CPU threshold
    06:38:00scan-worker3 → 1All metrics below target

    4.2 RabbitMQ Queue Depth

    scan.vision179358-50%
    scan.rule393331+19%
    scan.answer383280+37%
    scan.reward147160-8%

    4.3 Worker Resource Usage

    scan-worker-wtxmw0.88 cores952MBk8s-worker-ai
    scan-worker-6vl6n0.88 cores496MBk8s-worker-ai-2
    scan-worker-vlxd70.88 cores500MB-
    scan-worker-canary0.86 cores926MBk8s-worker-ai

    4.4 Redis Memory Usage

    rfr-cache225MB167MB+35%
    rfr-streams63MB58MB+9%

    5. VU Progression Summary

    5.1 VU별 성능 비교 (Tier 4)

    6001,4081,401499.7%108.3s0
    7001,4961,3131199.2%122.3s0
    10001,5921,4945396.6%166.7s0

    5.2 운영 권장 범위 (Tier 4 기준)

    Green Zone50-40099.9%+< 65s< 40%
    Yellow Zone400-60099.5%+65-110s40-55%
    Orange Zone600-70099%+110-125s55-60%
    Red Zone700-100096%+125-170s60-70%

    6. Comparison with Previous Tests

    6.1 Tier 3 vs Tier 4 at High VU

    성공률92.5%99.2%96.6%
    Rate Limit 에러1,01700
    E2E P95175.4s122.3s166.7s
    Throughput301.1 req/m329.1 req/m378.7 req/m

    6.2 Key Insight

    • VU 700 Tier 4VU 1000 Tier 3보다 우수한 성능
    • Rate Limit 해소로 안정적인 처리 가능
    • E2E 레이턴시 SLA(30s)는 여전히 미달

    7. Recommendations

    7.1 현재 상태 평가

    Rate Limit정상TPM 55% 사용
    Quota정상Auto-recharge 작동
    성공률양호99.2% > 95% SLA
    레이턴시초과E2E P95 122.3s > 30s

    7.2 VU 800/900 테스트 예상

    800~98.5%~65%Medium
    900~97.5%~72%Medium-High

    8. Appendix

    8.1 Raw Test Output

    {
      "test_info": {
        "target_vus": 700,
        "duration_seconds": 1769495559.918264
      },
      "results": {
        "total_submitted": 1496,
        "total_completed": 1313,
        "total_failed": 11,
        "success_rate": "99.2%",
        "reward_rate": "0.0%"
      },
      "latency": {
        "scan_submit_p95": "444ms",
        "poll_p95": "1283ms",
        "e2e_p95": "122.3s",
        "e2e_avg": "89.9s"
      },
      "polling": {
        "total_poll_requests": 57955,
        "avg_polls_per_task": "39.7"
      },
      "throughput": {
        "requests_per_minute": "329.1 req/m"
      }
    }

    8.2 Prometheus Query Reference

    # Time Range
    start: 2026-01-27T06:33:39Z
    end: 2026-01-27T06:36:39Z
    
    # Worker CPU
    sum(rate(container_cpu_usage_seconds_total{namespace="scan",pod=~"scan-worker.*"}[1m])) by (pod)
    
    # Worker Memory
    sum(container_memory_working_set_bytes{namespace="scan",pod=~"scan-worker.*"}) by (pod) / 1024 / 1024
    
    # Queue Depth
    rabbitmq_queue_messages{queue=~"scan.*"}

    8.3 Related Files

    • Test Script: e2e-tests/performance/k6-scan-polling-test.js
    • Result JSON: k6-scan-polling-vu700-2026-01-27T06-36-39-323Z.json
    • VU 600 Report: docs/blogs/tests/2026-01-27-scan-load-test-vu600.md
    • VU 1000 Tier 4 Report: docs/blogs/tests/2026-01-27-scan-load-test-vu1000-tier4.md

    9. Conclusion

    VU 700 테스트 결과 요약

    성공률99.2% (PASS)
    Rate Limit0건 (Tier 4 정상)
    실패 원인Polling Timeout (11건)
    TPM 사용률~55% (Safe Zone)

     

    댓글

ABOUT ME

🎓 부산대학교 정보컴퓨터공학과 학사: 2017.03 - 2023.08
☁️ Rakuten Symphony Jr. Cloud Engineer: 2024.12.09 - 2025.08.31
🏆 2025 AI 새싹톤 우수상 수상: 2025.10.30 - 2025.12.02
🌏 이코에코(Eco²) 백엔드/인프라 고도화 중: 2025.12 - Present

Designed by Mango