본문 바로가기

혼자하는 프로젝트/AWS_도커 구현

4.아파치 웹서버 설치 후 부하 테스팅 하기

- 부하 발생을 통한 ALB 테스트

- 아파치 로그 확인

- 부하 생성기에 접근하여 SSH 접속

- sudo apt-get update 입력하여 최신 라이브러리 업데이트

- sudo apt-get install apache2-utils 입력하여 다운로드 수행.

- ab -n 100 -c 10 http://www.google.com/ 

- 부하 테스트를 수행하고 응답 시간등의 결과이다.

 

사용법 예시

- ab -n 100 -c 10 http://google.com/ -> 10명이 10번 요청 

- ab -n 400 -c 10 -H "Accept-Encoding: gzip,deflate" http://google.com-> 10명이 400번 요청, Accept-Encoding: gzip,deflate 헤더 포함 

 

주요 옵션

-n :  성능 검사를 위해 보내는 요청 수

-c : 동시 접속수 (client)

-C : Cookie 헤더

-H : 요청에 헤더 추가

-i : GET 대신 HEAD 요청

-k : KeepAlive-p POST

 

- 부하를 발생하는 환경을 구축 하였고, 이제는 웹서버에 아파치 웹서버를 설치하자.

- 웹서버에 SSH로 접근하고, sudo apt-get update 를 입력하여 라이브러리를 최신화 하자.

- sudo apt-get install apache2 를 입력하고 아파치 웹서버를 설치하자.

- 웹서버 2번도 동일하게 아파치 웹서버를 설치하자.

- 웹서버1번과 2번에서 웹페이지가 정상적으로 출력되는지 확인하자.

- 웹서버 1번과 2번이 정상적으로 출력된것을 확인 할 수있다. (해당 인스턴스 퍼블릭 IP:80)으로 접속

- 이제 부하테스팅을 해보자.

- 이제 부하 테스팅을 위해 이전에 생성한 로드밸런서 DNS:80 으로 웹브라우저에 접속하자.

- 로드밸런서로 접근한 화면이다.

- 부하 테스팅을 위해 apache의 access.log 파일을 확인하여 어떤 방식으로 부하분산이 되고 있는지 확인하자.

-아파치 로그 기본 경로 : /var/log/apache2

- tail -f access.log 를 입력하여 어떤 방식으로 접근이 되고 있는지 확인 할 수있다.

- 이전에 로드밸런서 생성할때 고급 옵션에서 상태 체크를 하는 옵션을 봤을 것이다.

- 해당 옵션에 /index.html 파일에 대한 상태체크를 한 후 로그에 남기는 모습니다.

- 실제로 ALB DNS 주소를 통해 웹서버에 접근하자.

- 로드 밸런서를 통해 웹서버에 접근하면 웹서버를 새로고침 할때마다 웹서버1번과 웹서버2번에 번갈아가며 로그가 쌓이는 것을 볼 수 있다.

- 부하분산이 이루어 지고 있는 모습을 확인 하였다.

- 다음에는 부하를 통한 오토스케일링 구현을 알아보자.