Middleware (오픈소스 활용-17) 로컬 및 URL 호출 테스트 옵션 (curl, ab 옵션으로 부하주기)
페이지 정보
작성자 미들웨어 아이디로 검색 전체게시물 댓글 0건 조회 2,578회 좋아요 1회 작성일 23-04-05 16:54본문
안녕하세요. 미들웨어 입니다.
지난 번 (오픈소스 활용-1) Locust 성능테스트용 부하발생기 설치 및 구동 방법을 소개해드렸습니다.
접속 링크는 아래 참고...
이번엔 설치할 필요 없이 서버에서 간단히 부하를 넣어주고 APM모니터링으로 급히 모니터링 해야할때 활용 가능한 방법을 소개해드려 보겠습니다.
이 방법은 ab을 활용하는 건데..
실제 상황에선 서버에 접속한뒤 바로 부하를 주니.. 이슈 찾을때 자주 활용 하는 방법입니다.
기억해두셨다가 필요할때 사용하시면 큰 도움이 될 거예요.
어렵지 않으니 한번 정리 해보겠습니다.
웹서버 연동 테스트를 하다보면 curl과 ab 옵션을 자주 사용하는데, 매번 사용할때마다 정리한게 없어서
구글링하는데 시간이 좀 걸리네요.. (좀처럼 익숙해 지지 않네요..ㅎㅎ)
그래서 좀 편리하게 옵션이랑 설명을 정리해봤습니다.
1. curl 옵션 사용 방법
curl 이란.. 리눅스에서 사용되는 명령어 입니다.
서버와 통신할 수 있는 커맨드 명령어 툴이며, 쉽게 다른말로는 쉘상에서 http 메세지를 요청하여 응답을 받을 수 명령어 입니다.
서버에 curl이 없으면 우선 설치를 진행해야 합니다.
간단합니다.. sudo 권한이 있으면 그걸 활용해서 아래 설치 명령어만 입력해주세요
- Linux
$ sudo apt update
$ sudo apt install curl
- centos
$ sudo yum install curl
-v : 요청과 응답을 상세하게 로그로 찍는다 -o : [FILENAME] 응답 결과를 파일로 저장한다. -X : 사용할 방식 메소드 선택하기 -d : 함께 전달할 파라미터값 설정하기 -G : 전송할 사이트 url 및 ip 주소 -H : 헤더 정보를 전달하기 -i : 사이트의 Header 정보만 가져오기 -I : 사이트의 Header와 바디 정보를 함께 가져오기 -u : 사용자 정보 |
2. curl 테스트 방법 샘플
ex-1) localhost 호출 테스트
curl "http://localhost/login.htm" -v -s -o /dev/null
curl "http://localhost/login.htm" -H "Host: xxx.test.com" -v -s -o /dev/null
3. ab 옵션 사용 방법 설명
- ab 이란?
(Apache HTTP server benchmarking tool)는 커맨드 라인을 활용한 매우 가볍고 유용한 웹서버 벤치마킹 도구입니다.
Usage: ab [options] [http[s]://]hostname[:port]/path
- 옵션 및 설명 -n 성능을 검사하기위해 보내는 요청수. 기본값으로 요청을 한번만 보내기때문에 일반적인 성능검사 결과를 얻을 수 없다. -c 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보낸다. -g 측정한 모든 값을 'gnuplot' 혹은 TSV (Tab separate values, 탭으로 구분한 값) 파일에 기록한다. 라벨은 output 파일의 첫번째 라인을 참고한다. -t 성능을 검사하는 최대 초단위 시간. -v 출력 수준을 지정한다. 4 이상이면 헤더에 대한 정보를, 3 이상이면 (404, 202, 등) 응답코드를, 2 이상이면 경고(warning)와 정보(info)를 출력한다. -A 프록시를 통해 BASIC Authentication 정보를 제공한다. :로 구분한 사용자명과 암호를 base64 인코딩하여 전송한다. -X proxy[:port] 프록시 서버를 사용하여 요청한다. |
4. ab 테스트 방법 샘플 (localhost, google 호출)
ex-1) localhost 호출
ab -n 100 -c 2 "http://localhost/login.htm"
ab -n 100 -c 2 -H "Host: xxx.test.com" "http://localhost/login.htm"
ex-2) google 도메인에 3개의 pool을 가지고 10번 호출
ab -n 10 -c 3 http://www.google.com/index.html
위 명령어를 실행하면 3개의 프로세스(쓰레드)가 10개씩 쏴주는게 아니라 3개의 풀을 가지고 10번 요청을 진행합니다.
제가 임의로 테스트 방법 샘플로 적어봤습니다.
구글링하면 비슷하고 더 쉽게 설명된 내용도 있을 수 있으니 골고루 참고하시면 도움이 되실것 같네요.
그럼... 열공하세요~
댓글목록
등록된 댓글이 없습니다.