Middleware (오픈소스 활용-1) Locust 성능테스트용 부하발생기 설치 및 구동 방법
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 5,104회 좋아요 0회 작성일 21-05-12 09:56본문
안녕하세요. 미들웨어 입니다.
이번에 꽤 괜찮은 성능테스트 Tool 을 발견하게 되서 소개합니다.
당연히 오픈소스 이고, ngrinder 보다 사용하기 편리하네요.
1. Locust 소개 & 설치
2. Locust 설치방법
AWS EC2 내에 설치 후 테스트 했지만 Linux 에서 진행하셔도 동일합니다.
핵심은 python을 설치입니다.
sudo yum install -y python3-devel sudo yum install -y libevent-devel sudo yum install -y gcc sudo python3 -m pip install locust |
3. locustfile.py 생성
샘플로 한 py파일에 3개의 task를 구성해봤습니다.
한 주소에 context 로 3개 호출하는 task 생성했다 보시면 될것 같아요
error.jsp 는 500 error 를 유발하는 jsp를 한개 만들어 둡니다.
파일생성 : locustfile.py
from locust import HttpUser, task, between
class QuickstartUser(HttpUser): wait_time = between(5, 9)
@task(3) def my_task1(self): self.client.get("/index.jsp")
@task(5) def my_task2(self): self.client.get("/session.jsp")
@task(2) def my_task3(self): self.client.get("/error.jsp") |
4. start, stop 스크립트 생성
매번 콘솔창에 치기 귀찮아서.. start.sh 와 shutdown.sh 를 만들어 뒀습니다.
shutdown 은 kill 하는거니 상황에 맞게 변경해서 사용하세요.
기본 port 는 8089 을 사용했습니다.
start.sh locust -f locustfile.py --host=http://localhost:8089 &
stop.sh kill -9 `ps -ef | grep locust | awk '{print $2}'` |
5. Locust 테스트 방법
동시접속자수(Number of total users to simulate)
접속빈도수(Hatch rate)
ex) 1000명 사용자를 10초단위로 증가한다
- Number of total users to simulate : 1000
- Hatch rate : 10
- Host : http://호출할IP:port
6. Locust & Scouter 에 부하 입력 화면
실제 Locust 에 입력되는 client 와 scouter 에 들어오는 수가 거의 비슷합니다.
이정도면 아주 훌륭하네요.
=> Locust 1000명 부하발생
=> Scouter 1000명 유입화면
꽤 괜찮은 툴인것 같습니다.
댓글목록
등록된 댓글이 없습니다.