Projects/[Final] Shopping Mall Project

가상 스레드 적용 후, 외부 결제 API 호출 시 응답시간 저하 변화

montmer27 2026. 5. 8. 15:56

이전 테스트 결과

https://montmer27.tistory.com/269

 

가상 스레드 적용 전, 외부 결제 API 호출 시 응답시간 저하 변화

이전 테스트 결과https://montmer27.tistory.com/268 HikariCP connection pool 증가 후 성능 개선 (결제 생성)이전 테스트 결과https://montmer27.tistory.com/267 스케줄러 인터벌 연장 후 성능 개선 (결제 생성)이전 테스

montmer27.tistory.com

변경사항: 가상 스레드 적용

result(console)

         /\      Grafana   /‾‾/                                                                                                                                               
    /\  /  \     |\  __   /  /                                                                                                                                                
   /  \/    \    | |/ /  /   ‾‾\                                                                                                                                              
  /          \   |   (  |  (‾)  |                                                                                                                                             
 / __________ \  |_|\_\  \_____/ 


     execution: local
        script: /k6/scenario-b.js
        output: InfluxDBv1 (http://k6-influxdb:8086)

     scenarios: (100.00%) 1 scenario, 500 max VUs, 5m0s max duration (incl. graceful stop):
              * purchase_flow: Up to 100.00 iterations/s for 4m30s over 5 stages (maxVUs: 50-500, gracefulStop: 30s)

WARN[0178] Insufficient VUs, reached 500 active VUs and cannot initialize more  executor=ramping-arrival-rate scenario=purchase_flow


  █ THRESHOLDS 

    http_req_duration{phase:scenario,name:cart_add}
    ✗ 'p(95)<800' p(95)=6s

    http_req_duration{phase:scenario,name:order_create}
    ✗ 'p(95)<1000' p(95)=5.99s

    http_req_duration{phase:scenario,name:payment_create}
    ✗ 'p(95)<1500' p(95)=6.49s

    http_req_failed
    ✓ 'rate<0.01' rate=0.00%

      {phase:scenario}
      ✓ 'rate<0.01' rate=0.00%


  █ TOTAL RESULTS 

    checks_total.......: 24248   75.322616/s
    checks_succeeded...: 100.00% 24248 out of 24248
    checks_failed......: 0.00%   0 out of 24248

    ✓ product fetch success
    ✓ login success
    ✓ address fetch success
    ✓ cart item added 201
    ✓ order created 201
    ✓ payment processed 201

    HTTP
    http_req_duration..........................: avg=3.37s  min=3.7ms    med=4.51s  max=11.7s  p(90)=5.93s  p(95)=6.16s 
      { expected_response:true }...............: avg=3.37s  min=3.7ms    med=4.51s  max=11.7s  p(90)=5.93s  p(95)=6.16s 
      { phase:scenario,name:cart_add }.........: avg=3.31s  min=18.01ms  med=4.45s  max=11.6s  p(90)=5.76s  p(95)=6s    
      { phase:scenario,name:order_create }.....: avg=3.34s  min=3.7ms    med=4.52s  max=11.22s p(90)=5.7s   p(95)=5.99s 
      { phase:scenario,name:payment_create }...: avg=3.9s   min=313.65ms med=5.04s  max=11.7s  p(90)=6.27s  p(95)=6.49s 
    http_req_failed............................: 0.00%  0 out of 24248
      { phase:scenario }.......................: 0.00%  0 out of 23247
    http_reqs..................................: 24248  75.322616/s

    EXECUTION
    dropped_iterations.........................: 5780   17.954665/s
    iteration_duration.........................: avg=10.56s min=337.48ms med=15.59s max=22.66s p(90)=16.31s p(95)=16.39s
    iterations.................................: 7749   24.071056/s
    vus........................................: 31     min=0          max=500
    vus_max....................................: 500    min=50         max=500

    NETWORK
    data_received..............................: 16 MB  48 kB/s
    data_sent..................................: 8.5 MB 27 kB/s




running (5m21.9s), 000/500 VUs, 7749 complete and 0 interrupted iterations
purchase_flow ✓ [======================================] 000/500 VUs  4m30s  001.29 iters/s
ERRO[0322] thresholds on metrics 'http_req_duration{phase:scenario,name:cart_add}, http_req_duration{phase:scenario,name:order_create}, http_req_duration{phase:scenario,name:payment_create}' have been crossed

result(graph)

지표 1차 측정 이중 락 해제 후 스케줄러 인터벌 완화 후 HikariCP 증가 후 응답 지연 적용 후 가상 스레드 적용 후 직전 대비 변화
전체 p95 5.03s 4.07s 2.94s 2.6s 6.07s 6.16s 1.5% 악화
cart_add p95 5.06s 4.09s 2.95s 2.65s 5.8s 6s 3.4% 악화
order_create p95 4.99s 4.05s 2.92s 2.54s 6.74s 5.99s 11.1% 개선
payment_create p95 5.03s 4.1s 2.94s 2.61s 6.32s 6.49s 2.7% 악화
평균 응답시간 2.89s 1.35s 781.73ms 630.04ms 3.38s 3.37s 0.3% 개선
med 응답시간 4.31s 181.92ms 60.14ms 35.26ms 4.42s 4.51s 2.0% 악화
HTTP RPS 74.71/s 104.62/s 120.46/s 122.86/s 75.1/s 75.32/s 0.3% 개선
iterations 8,399 10,624 12,150 12,486 7,766 7,749 0.2% 악화
dropped iterations 5,130 2,905 1,379 1,044 5,763 5,780 0.3% 악화
iteration p95 14.43s 13s 8.75s 7.77s 16.28s 16.39s 0.7% 악화