Share
Sign In

Load Testing : Locust 사용기

💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089
부하 테스트 사용법
Number of users : 최대 활성 유저 수
Spawn rate : 단계적으로 유저가 생성되는 수
Host : 부하 테스트할 서버 주소
사이트
💬
Locust 도입, 사용기 및 설정방법을 정리해보았습니다.
도입배경
kpi에 따라 AWS 인스턴스 사양, Auto Scaling이 사용할만 한지 알아보기 위한 부하 시스템
종선님을 통해 소개받게 되었음
~~~
요구사항
Python & Pip
설치
pip install locust # locust 설치 locust -v # 설치 확인
사용하기
코드 작성
from locust import HttpUser, TaskSet, task, between import json from dotenv import load_dotenv import os load_dotenv() class UserBehavior(TaskSet): @task def get_main_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/main/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') @task def get_recommendation_page(self): user_encrypted_id = os.environ.get("USER_ENCRYPTED_ID") host = os.environ.get("HOST") uri = "https://%s/recommend/%s" % (host, user_encrypted_id) self.client.get(uri, headers={"Content-Type": "application/*"}, name='getMainPage') class WebsiteUser(HttpUser): task_set = UserBehavior tasks = [UserBehavior] wait_time = between(1, 4)
실행하기
locust -f path/locustfile.py --host=https://test-web.host.com # 현재 위치에 locustfile.py 라는 파일이 존재하면 locust
대시보드 : http://localhost:8089