본문 바로가기

Python

Python: 서버 부하테스트 - locust

728x90
반응형

python script로 간단하게 서버 부하테스트를 할 수 있는 library

 

사용법이 간단하고, 브라우저를 통해 분석 그래프까지 제공해준다.

 

설치:

pip install locust

 

locustfile.py 작성

from locust import HttpUser, task, between

class WebsiteUser(HttpUser):
    wait_time = between(1, 5)

    @task
    def load_test(self):
        self.client.get("/your-endpoint")

 

테스트할 서버를 실행시키고, locust도 함께 실행시켜주자

locust는 기본적으로 8089 포트로 연결된다.

나는 fastapi 서버를 실행시키고 있고, fastapi는 기본적으로 8000포트로 열린다.

fastapi를 실행 시킨후 locust를 다음과 같이 실행시키면 된다.

locust --host=http://localhost:8000

 

 

위에서 설정을 변경하며 원하는 부하만큼 테스트 가능하다.

 

 

Charts를 통해, request당 fail, reponse time 등 확인 가능하다

Failure에 대한 로그도 몇번 발생했는지 찍힌다.

Exceptions는 위 코드로 찍히지 않았는데, console에서 발생하는 에러를 다 담지 못했다.

추가적인 설정이 필요할 듯 하다.

그 외  file명을 변경해서 짓거나, 추가적인 기능들이 꽤 있다. (필요에 따라 찾아보면 될 듯 싶다)

728x90
반응형