이전 테스트 결과
https://montmer27.tistory.com/265
가상 스레드를 적용했는데 왜 성능이 그대로인가
관련 포스팅https://montmer27.tistory.com/263 가상 스레드 적용 전 테스트 결과 (결제 생성)scenario-b테스트는 load와 pressure로 나누어 2차례에 걸쳐 실시했다.load test에서는 안정적인 baseline을 확인한다.stres
montmer27.tistory.com
scenario-b
TEST-2
- test type: pressure
- 목적: 실패 지점 관찰
- test detail
pressure: [
{ target: 30, duration: '1m' },
{ target: 50, duration: '1m' },
{ target: 70, duration: '1m' },
{ target: 100, duration: '1m' },
{ target: 0, duration: '30s' },
]
test 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[0228] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0228] CART FAILED: status = 0, bodyPreview = source=console
WARN[0228] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0228] CART FAILED: status = 0, bodyPreview = source=console
WARN[0230] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0230] CART FAILED: status = 0, bodyPreview = source=console
WARN[0230] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0230] CART FAILED: status = 0, bodyPreview = source=console
WARN[0230] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0230] CART FAILED: status = 0, bodyPreview = source=console
WARN[0231] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0231] CART FAILED: status = 0, bodyPreview = source=console
WARN[0232] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0232] CART FAILED: status = 0, bodyPreview = source=console
WARN[0232] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0232] CART FAILED: status = 0, bodyPreview = source=console
WARN[0233] Request Failed error="Post \"http://host.docker.internal:8080/carts/items?sort=createdAt,desc&size=1\": dial: i/o timeout"
ERRO[0233] CART FAILED: status = 0, bodyPreview = source=console
WARN[0240] 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)=4.09s
http_req_duration{phase:scenario,name:order_create}
✗ 'p(95)<1000' p(95)=4.05s
http_req_duration{phase:scenario,name:payment_create}
✗ 'p(95)<1500' p(95)=4.1s
http_req_failed
✓ 'rate<0.01' rate=0.02%
{phase:scenario}
✓ 'rate<0.01' rate=0.02%
█ TOTAL RESULTS
checks_total.......: 32855 104.622197/s
checks_succeeded...: 99.97% 32846 out of 32855
checks_failed......: 0.02% 9 out of 32855
✓ product fetch success
✓ login success
✓ address fetch success
✗ cart item added 201
↳ 99% — ✓ 10615 / ✗ 9
✓ order created 201
✓ payment processed 201
HTTP
http_req_duration..........................: avg=1.35s min=0s med=181.92ms max=10.18s p(90)=3.86s p(95)=4.07s
{ expected_response:true }...............: avg=1.35s min=4.08ms med=182.23ms max=10.18s p(90)=3.86s p(95)=4.07s
{ phase:scenario,name:cart_add }.........: avg=1.4s min=0s med=268.21ms max=10.18s p(90)=3.89s p(95)=4.09s
{ phase:scenario,name:order_create }.....: avg=1.38s min=4.08ms med=238.73ms max=10.15s p(90)=3.86s p(95)=4.05s
{ phase:scenario,name:payment_create }...: avg=1.4s min=11.39ms med=272.46ms max=9.94s p(90)=3.89s p(95)=4.1s
http_req_failed............................: 0.02% 9 out of 32855
{ phase:scenario }.......................: 0.02% 9 out of 31854
http_reqs..................................: 32855 104.622197/s
EXECUTION
dropped_iterations.........................: 2905 9.25057/s
iteration_duration.........................: avg=4.21s min=35.85ms med=859.62ms max=30s p(90)=11.78s p(95)=13s
iterations.................................: 10624 33.830657/s
vus........................................: 9 min=0 max=500
vus_max....................................: 500 min=50 max=500
NETWORK
data_received..............................: 21 MB 67 kB/s
data_sent..................................: 12 MB 37 kB/s
running (5m14.0s), 000/500 VUs, 10624 complete and 0 interrupted iterations
purchase_flow ✓ [======================================] 000/500 VUs 4m30s 001.29 iters/s
ERRO[0314] 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
test result (graph)



| 지표 | 1차 측정 | 가상 스레드 적용 후 | 이중 락 해제 후 | 변화 |
| 전체 p95 | 5.03s | 5.21s | 4.07s | 21.9% 완화 |
| cart_add p95 | 5.06s | 5.25s | 4.09s | 22.1% 완화 |
| order_create p95 | 4.99s | 5.16s | 4.05s | 21.5% 완화 |
| payment_create p95 | 5.03s | 5.20s | 4.1s | 21.2% 완화 |
| 평균 응답시간 | 2.89s | 2.99s | 1.35s | 54.8% 완화 |
| HTTP RPS | 74.71/s | 72.89/s | 104.62/s | 43.5% 개선 |
| iterations | 8,399 | 8,216 | 10,624 | 29.3% 개선 |
| dropped iterations | 5,130 | 5,313 | 2,905 | 45.3% 완화 |
| iteration p95 | 14.43s | 15.13s | 13s | 14.1% 완화 |
'Projects > [Final] Shopping Mall Project' 카테고리의 다른 글
| HikariCP connection pool 증가 후 성능 개선 (결제 생성) (0) | 2026.05.08 |
|---|---|
| 스케줄러 인터벌 연장 후 성능 개선 (결제 생성) (0) | 2026.05.08 |
| 가상 스레드를 적용했는데 왜 성능이 그대로인가 (0) | 2026.05.08 |
| 가상 스레드 적용 후 테스트 결과 (결제 생성) (0) | 2026.05.08 |
| 가상 스레드 적용 전 테스트 결과 (결제 생성) (0) | 2026.05.07 |