해결된 질문
작성
·
70
1
성능 테스트 스크립트
config:
target: 'http://localhost:8080'
phases:
- duration: 30
arrivalRate: 20
name: Warm up
- duration: 10
arrivalRate: 20
rampTo: 2000
name: Ramp up load
- duration: 10
arrivalRate: 2000
name: Sustained load
- duration: 30
arrivalRate: 2000
rampTo: 20
name: End of load
scenarios:
- name: "high load cpu"
flow:
- get:
url: "/high-load-cpu"
- name: "high load memory"
flow:
- get:
url: "/high-load-memory"
실행결과
Started phase 0 (Warm up), duration: 30s @ 15:00:57(+0900) 2024-09-29
Report @ 15:01:07(+0900) 2024-09-29
Elapsed time: 10 seconds
Scenarios launched: 199
Scenarios completed: 199
Requests completed: 199
Mean response/sec: 20
Response time (msec):
min: 1
max: 324
median: 48
p95: 53.5
p99: 296
Codes:
200: 199
Report @ 15:01:17(+0900) 2024-09-29
Elapsed time: 20 seconds
Scenarios launched: 200
Scenarios completed: 200
Requests completed: 200
Mean response/sec: 20
Response time (msec):
min: 1
max: 164
median: 48
p95: 49
p99: 118.5
Codes:
200: 200
Report @ 15:01:27(+0900) 2024-09-29
Elapsed time: 30 seconds
Scenarios launched: 200
Scenarios completed: 200
Requests completed: 200
Mean response/sec: 20
Response time (msec):
min: 1
max: 185
median: 3
p95: 50.5
p99: 146
Codes:
200: 200
Started phase 1 (Ramp up load), duration: 10s @ 15:01:27(+0900) 2024-09-29
Report @ 15:01:37(+0900) 2024-09-29
Elapsed time: 40 seconds
Scenarios launched: 1379
Scenarios completed: 1330
Requests completed: 1330
Mean response/sec: 137.9
Response time (msec):
min: 1
max: 878
median: 63
p95: 481
p99: 730
Codes:
200: 1330
Report @ 15:01:47(+0900) 2024-09-29
Elapsed time: 50 seconds
Scenarios launched: 1884
Scenarios completed: 1841
Requests completed: 1841
Mean response/sec: 189.35
Response time (msec):
min: 2
max: 2192
median: 389
p95: 1435.9
p99: 1679.5
Codes:
200: 1841
Report @ 15:01:57(+0900) 2024-09-29
Elapsed time: 1 minute, 0 seconds
Scenarios launched: 1938
Scenarios completed: 1921
Requests completed: 1921
Mean response/sec: 197.05
Response time (msec):
min: 2
max: 2391
median: 553
p95: 1766
p99: 2121.3
Codes:
200: 1921
Report @ 15:02:07(+0900) 2024-09-29
Elapsed time: 1 minute, 10 seconds
Scenarios launched: 1999
Scenarios completed: 1825
Requests completed: 1825
Mean response/sec: 200.2
Response time (msec):
min: 3
max: 3944
median: 951
p95: 2591.8
p99: 2944.8
Codes:
200: 1825
Report @ 15:02:17(+0900) 2024-09-29
Elapsed time: 1 minute, 20 seconds
Scenarios launched: 2051
Scenarios completed: 1920
Requests completed: 1920
Mean response/sec: 203.88
Response time (msec):
min: 275
max: 4463
median: 1762.5
p95: 3452
p99: 3868.6
Codes:
200: 1920
Errors:
ETIMEDOUT: 15
Started phase 2 (Sustained load), duration: 10s @ 15:02:25(+0900) 2024-09-29
Report @ 15:02:27(+0900) 2024-09-29
Elapsed time: 1 minute, 30 seconds
Scenarios launched: 2352
Scenarios completed: 1754
Requests completed: 1754
Mean response/sec: 228.47
Response time (msec):
min: 729
max: 5593
median: 2867.5
p95: 4719.8
p99: 4972.5
Codes:
200: 1754
Errors:
EPIPE: 1
ECONNRESET: 8
ETIMEDOUT: 200
Report @ 15:02:37(+0900) 2024-09-29
Elapsed time: 1 minute, 40 seconds
Scenarios launched: 5182
Scenarios completed: 1679
Requests completed: 1680
Mean response/sec: 522.91
Response time (msec):
min: 2409
max: 8590
median: 5161.5
p95: 7927
p99: 8578.7
Codes:
200: 1680
Errors:
ETIMEDOUT: 235
ECONNRESET: 67
Report @ 15:02:47(+0900) 2024-09-29
Elapsed time: 1 minute, 50 seconds
Scenarios launched: 2948
Scenarios completed: 322
Requests completed: 321
Mean response/sec: 294.51
Response time (msec):
min: 7959
max: 9752
median: 8775
p95: 9748
p99: 9750
Codes:
200: 321
Errors:
ETIMEDOUT: 3978
ECONNRESET: 45
Report @ 15:02:57(+0900) 2024-09-29
Elapsed time: 2 minutes, 0 seconds
Scenarios launched: 3922
Scenarios completed: 0
Requests completed: 0
Mean response/sec: 392.2
Response time (msec):
min: NaN
max: NaN
median: NaN
p95: NaN
p99: NaN
Errors:
ETIMEDOUT: 2937
ECONNRESET: 434
EPIPE: 2
Report @ 15:03:07(+0900) 2024-09-29
Elapsed time: 2 minutes, 10 seconds
Scenarios launched: 3060
Scenarios completed: 0
Requests completed: 0
Mean response/sec: 304.17
Response time (msec):
min: NaN
max: NaN
median: NaN
p95: NaN
p99: NaN
Errors:
ETIMEDOUT: 3260
ECONNRESET: 389
우선 30초까지는 Warm up 단계로 요청을 잘 처리한거 같습니다. 그 다음 Ramp up load 단계는 10초 동안 초당 20개에서 초당 2000개로 늘렸는데 실제 터미널 콘솔에 찍힌걸 보면 Scenarios completed: 1000
Requests completed: 1000 이렇게 나와 있습니다. 저는 최소 2000개 요청을 보냈는데 저렇게 찍힌걸 보면 40초까지 1000개만 처리 완료했지만 실제로는 요청이 더 온 상태고 해당 요청에 대해서는 처리를 완료하지 못한 상태라고 해석하면 될까요?
Sustained load 단계에서는 10초 동안 초당 2000개의 요청을 계속 보내는 상태인데요 그럼 10초 동안 총 20000개의 요청이 가야하는데 실제 실행 결과를 보면 10초 동안 20000개의 요청을 처리하지 못하고 계속해서 요청을 처리하다가 나중에는 거의 처리를 하지 못하는 상태에 오는데요 이 부분은 서버에 요청을 처리할 자원이 거의 없는 과부하 상태라고 해석하면 될까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 감바스님.
질문하신 두 가지 내용을 각각 해결할 수 있는 관련된 기존의 답변을 찾아 안내해 드립니다. 성능 테스트 스크립트 실행 결과에 대해 질문하신 내용과 유사한 답변을 제공하는 게시글들이 있습니다.
첫 번째 질문: 단계별 요청 처리량과 실제 요청량이 다른 이유
두 번째 질문: 서버 자원이 과부하 상태에 있는지 여부
첫 번째 질문에 대한 답변 요약:
첫 번째 Ramp up load 단계에서 초당 요청 수가 급격히 증가하는 동안, 서버가 모든 요청을 처리하지 못하고 일부 처리되지 않은 요청이 누적될 수 있습니다. 완료된 요청 수가 예정보다 적다는 것은 서버가 과도한 부하를 받아 처리 능력이 한계에 도달했음을 뜻합니다. 일반적으로 이러한 상태에서는 요청이 큐에 쌓이고, 나중에 처리되지 않아 타임아웃이 발생할 수 있습니다.
두 번째 질문에 대한 답변 요약:
Sustained load 단계에서 서버가 전체 요청을 처리하지 못하는 현상은 서버가 과부하 상태임을 나타냅니다. 자원이 부족해지면 상당한 오류 메시지(예: ETIMEDOUT
, ECONNRESET
)가 발생하며, 이는 서버가 사용자의 요청을 제때 처리하지 못하고 있음의 신호입니다. 이는 서버의 자원을 확장하거나, 부하 분산 시스템을 도입해 성능을 개선할 필요가 있음을 시사합니다.
위 답변을 통해 성능 테스트 분석과 관련된 중요한 포인트들을 이해하는 데 도움이 되었기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아 죄송합니다. 제가 Scenarios completed 부분과 Requests completed 부분을 잘못적은거 같습니다.
질문을 다시하면 Sustained load 단계에서 초당 2000개의 요청이 날라갔는데 서버에서는 2000개 이하로 처리 완료한 것을 보면 모든 요청에 대해서 처리를 완료하지 못한 상태고 처리를 못한 요청들은 서버내에서 요청들을 임시 보관하는 장소에서 대기중이라고 이해하면 될까요?