Closed sanghunjo921 closed 6 months ago
loucst에서 제공하는 faster client 사용 후 부하 테스트 결과
구매 엔드포인트의 경우 faster client를 사용해도 실패율이 동일함
원인 분석을 위해 kibana에 쌓인 로그들을 보다가 duplicate key violation 부분 발견
더 극단적인 상황을 테스트하기 위해 더 많은 유저로 조회에 대한 부하테스트 결과 총 2875229 건 중 5번 실패했는데 RetriesExceeded('http://localhost:80/ticket', 1, original=[Errno 60] Operation timed out) 에러라 locust측 에러로 보여짐
목표
부하 테스트에 최적화된 client를 사용하여 locust를 통한 부하 테스트에서 클라이언트 측 에러를 최소화시킵니다.
문제상황
현재 쓰고 있는 client는 locust의 default인 python-requests를 사용하고 있는데 해당 클라이언트는 내부적으로 urlib3 pool manager를 사용하고 있습니다. 해당 풀 매니저는 커넥션을 재사용하며 사용되지 않은 소켓을 너무 많이 생성하지 않도록 커넥션을 내부적으로 제한하기 때문에 부하 테스트에 적합하지 않습니다. 이런 이유로 해당 클라이언트를 통한 부하테스트 시 클라이언트측 에러로 인해 정확한 서버 성능 측정이 어렵습니다.
태스크
통과조건 (Acceptance Criteria; AC)