테스트 및 지표 설명

  1. 응답 시간(Response Time): 응답 시간은 사용자가 요청을 보낸 후 시스템이 해당 요청에 대해 응답하는 데 걸리는 시간을 측정합니다. 시나리오 테스트 결과에서는 http.response_time 지표를 활용하여 응답 시간의 분포와 통계 정보를 파악할 수 있습니다.

  2. 처리량(Throughput): 처리량은 시스템이 단위 시간 동안 처리한 요청의 수를 나타냅니다. 시나리오 테스트 결과에서는 http.requests 지표를 통해 전체 요청 수를 확인하고, http.request_rate 지표를 통해 초당 평균 요청 수를 살펴볼 수 있습니다.

  3. 오류율(Error Rate): 오류율은 전체 요청 중에서 발생한 오류의 비율을 나타냅니다. 시나리오 테스트 결과에서는 vusers.failed 지표를 통해 실패한 가상 사용자 수를 확인할 수 있습니다. 이를 기반으로 전체 요청에 대한 오류율을 계산할 수 있습니다.

  4. 가용성(Availability): 가용성은 시스템이 정상적으로 동작하는 시간의 비율을 나타냅니다. 시나리오 테스트 결과에서는 vusers.completed 지표를 통해 작업을 완료한 가상 사용자 수를 확인하고, 이를 전체 생성된 가상 사용자 수와 비교하여 가용성을 평가할 수 있습니다.

단일 API 테스트

  1. movies/like (실시간 인기 영화 리스트)

    | | http.requests (전체요청) | http.request_rate (초당 평균 요청) | vusers.failed (실패한 가상유저) | vusers.completed (완료한 가상유저) | Error Rate (오류율) | | --- | --- | --- | --- | --- | --- | | 1차 테스트duration: 60 arrivalrate: 50 | 3000 | 50/sec | 0 | 3000 | 0% | | 2차 테스트 duration: 60 arrivalrate: 100 | 6000 | 100/sec | 0 | 6000 | 0% | | 3차 테스트 duration: 60 arrivalrate: 150 | 9000 | 150/sec | 425 | 8575 | 4.7% |

    1차 테스트 http.response_time

    2차테스트(movies_like).png

    2차 테스트 http.response_time

    2차테스트(movies_like100).png

    3차 테스트 http.response_time

    3차테스트(movies_like).png



  2. /movies/search?option=total&query=moviename (영화 검색)

    | | http.requests (전체요청) | http.request_rate (초당 평균 요청) | vusers.failed (실패한 가상유저) | vusers.completed (완료한 가상유저) | Error Rate (오류율) | | --- | --- | --- | --- | --- | --- | | 1차 테스트duration: 60 arrivalrate: 50 | 3000 | 50/sec | 0 | 3000 | 0% | | 2차 테스트 duration: 60 arrivalrate: 100 | 6000 | 96/sec | 0 | 6000 | 0% | | 3차 테스트 duration: 60 arrivalrate: 150 | 9000 | 150/sec | 0 | 9000 | 0% |

    1차 테스트 http.response_time

    search50.png

    2차 테스트 http.response_time

    search100.png

    3차 테스트 http.response_time

    search150.png


  3. /post/:movieId/record/latest (특정 영화 최신 게시글 조회)

    | | http.requests (전체요청) | http.request_rate (초당 평균 요청) | vusers.failed (실패한 가상유저) | vusers.completed (완료한 가상유저) | Error Rate (오류율) | | --- | --- | --- | --- | --- | --- | | 1차 테스트duration: 60 arrivalrate: 50 | 3000 | 50/sec | 0 | 3000 | 0% | | 2차 테스트 duration: 60 arrivalrate: 100 | 6000 | 100/sec | 0 | 6000 | 0% | | 3차 테스트 duration: 60 arrivalrate: 150 | 9000 | 150/sec | 1019 | 7981 | 11.3% |

    1차 테스트 http.response_time

    최신게시글50.png

    2차 테스트 http.response_time

    최신게시글100.png

    3차 테스트 http.response_time

    최신게시글150.png


  4. /post/:movieId/record (특정 영화 전체 버전 기록 조회)

    | | http.requests (전체요청) | http.request_rate (초당 평균 요청) | vusers.failed (실패한 가상유저) | vusers.completed (완료한 가상유저) | Error Rate (오류율) | | --- | --- | --- | --- | --- | --- | | 1차 테스트duration: 60 arrivalrate: 10 | 600 | 5/sec | 138 | 462 | 23% | | 2차 테스트 duration: 60 arrivalrate: 30 | 1800 | 28/sec | 1794 | 6 | 99.6% | | 3차 테스트 duration: 60 arrivalrate: 50 | 3000 | 43/sec | 2996 | 4 | 99.8% |

    1차 테스트 http.response_time

    전체기록10.png

    2차 테스트 http.response_time

    전체기록30.png

    3차 테스트 http.response_time

    전체기록50.png