공유할 서비스 선택

TECH


TECH

Middleware (오픈소스 활용-1) Locust 성능테스트용 부하발생기 설치 및 구동 방법

페이지 정보

작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 3,794회 좋아요 0회 작성일 21-05-12 09:56

본문

안녕하세요. 미들웨어 입니다.


이번에 꽤 괜찮은 성능테스트 Tool 을 발견하게 되서 소개합니다.

당연히 오픈소스 이고, ngrinder 보다 사용하기 편리하네요.

 

 

1. Locust 소개 & 설치

53c519fa1b9c885c4fcbb4c346a3884c_1620780917_3935.png


 

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초단위로 증가한다


=> 접속 후 부하 발생 조건 입력
53c519fa1b9c885c4fcbb4c346a3884c_1620780808_3369.png


=> Locust Chart 화면
53c519fa1b9c885c4fcbb4c346a3884c_1620780821_2804.jpg

 

 

6. Locust & Scouter 에 부하 입력 화면

실제 Locust 에 입력되는 client 와 scouter 에 들어오는 수가 거의 비슷합니다.

이정도면 아주 훌륭하네요.

 

=> Locust 1000명 부하발생

53c519fa1b9c885c4fcbb4c346a3884c_1620780837_0063.png

 

 

=> Scouter 1000명 유입화면

53c519fa1b9c885c4fcbb4c346a3884c_1620780847_3149.png
 

 

꽤 괜찮은 툴인것 같습니다.

 

댓글목록

등록된 댓글이 없습니다.

TECH 목록
번호 제목 작성자 작성일 조회수
36 Middleware 미들웨어 아이디로 검색 전체게시물 06-07 2825
(오픈소스 활용-3) scouter 모니터링 알람 설정 및 튜닝된 jar로 그룹별 slack 알람 보내는 방법

카테고리 : Middleware

2,825 0
작성자 : 미들웨어 21/06/07
35 Middleware 미들웨어 아이디로 검색 전체게시물 05-22 5093
(오픈소스 활용-2) scouter-paper 을 활용하여 모바일, 태블릿에서 모니터링 가능

카테고리 : Middleware

5,093 0
작성자 : 미들웨어 21/05/22
열람중 Middleware 미들웨어 아이디로 검색 전체게시물 05-12 3795
열람중
(오픈소스 활용-1) Locust 성능테스트용 부하발생기 설치 및 구동 방법

카테고리 : Middleware

3,795 0
작성자 : 미들웨어 21/05/12
33 Middleware 미들웨어 아이디로 검색 전체게시물 04-19 9112
(SSL-2) SSL 인증서 에러발생시 해결방법 (NSS error-8172, 12276 ??)

카테고리 : Middleware

9,112 0
작성자 : 미들웨어 21/04/19
32 Middleware 미들웨어 아이디로 검색 전체게시물 04-08 5676
(SSL-1) 인증서 정상상태인지 확인하는 방법 (openssl s_client 사용)

카테고리 : Middleware

5,676 0
작성자 : 미들웨어 21/04/08
31 Middleware 미들웨어 아이디로 검색 전체게시물 03-27 1856
(Monitoring) Grafana를 활용한 batch cpu process minitoring 방법

카테고리 : Middleware

1,856 0
작성자 : 미들웨어 21/03/27
30 Middleware 미들웨어 아이디로 검색 전체게시물 03-17 4748
(오픈소스 활용-21) Jenkins 배포솔루션 설치와 Jenins 이중화 방안, Thinbackup 백업 방법

카테고리 : Middleware

4,748 0
작성자 : 미들웨어 21/03/17
29 Middleware 미들웨어 아이디로 검색 전체게시물 02-22 2159
(Cache-2) CDN 개념과 활용방법 정리

카테고리 : Middleware

2,159 0
작성자 : 미들웨어 21/02/22
28 Middleware 미들웨어 아이디로 검색 전체게시물 02-07 3468
(Cache-1) Nginx reverse proxy 로 Cache 기능활용

카테고리 : Middleware

3,468 0
작성자 : 미들웨어 21/02/07
27 Middleware 미들웨어 아이디로 검색 전체게시물 01-25 7339
(AWS) 자격증 시험 대비 방법, 문제 덤프 공개

카테고리 : Middleware

7,339 0
작성자 : 미들웨어 21/01/25
Total 106건
게시물 검색

주식회사 클럭스| 대표 : 이찬호| 사업자등록번호 : 107-87-27655
주소 : 서울특별시 영등포구 국회대로 800, 여의도파라곤
E-mail : sales@chlux.co.kr
Copyright © 클럭스 www.chlux.co.kr All rights reserved.
상단으로Top