진짜 개발자
본문 바로가기

Infra

서버운영 - AWS EC2 부하 테스트 실습 (동시 접속자)

728x90

https://opentutorials.org/course/2717/11294 ( 스트래스 준비 , 시작)


시나리오

- AWS의 EC2를 이용해 구축한 웹서버에 부하를 주며 어느정도 까지 견딜 수 있는지를 테스트한다

Name 

IP 

Role 

CPU 

RAM 

CentOS7-LoadTester 

localhost 

부하 테스터 

16GB 

EC2-WebServer 

유동적

테스트 대상 

변경하며 테스팅

변경하며 테스팅


실습

    - 부하를 발생시키며 그에따른 결과를 기록한다


1. 테스트 대상확인

- 테스트 대상인 AWS EC2의 현 자원 사용량을 확인하기 위해 top명령어를 입력한다


- 80port 연결 확인

  # netstat -an | grep :80.*ESTABLISHED 

  


- 80port 연결자 수 확인

  # netstat -nap | grep :80 | grep ESTABLISHED | wc -l    

  



2. 부하 테스터 생성 및 설정

- 부하를 발생시키기 위해 CentOS7에 ab(Apache Bench)를 설치한다


1) ab는 httpd-tools에 포함되어있다

$ yum install httpd-tools


2) 간단히 ab를 이용하여 부하를 발생시킨다

$ ab -n 400 -c 1 http://54.180.127.22/index.php

-n : 총 요청할 회수이다

-c : 동시 요청 수 이다. (동시 요청수는 당연히 총요청할 회수를 초과하지 못한다)

ip : ip를 입력해주면 되는데 경로를 찾지 못한다면 그림과 같이 요청할 파일의 경로를 적어주면 해결된다.


3) EC2에서 부하발생시 자원사용량을 확인한다

- 아래와 같이 apache라는 user의 이름으로 프로세스가 생겨나는것을 볼 수 있다.



3. 부하테스트 및 결과

동시요청 수가 증가함에 따라 

1) 서버의 총 처리시간 : 빨라진다 

2) 한 요청에대한 처리 시간 : 느려진다 (즉 사용자의 경험은 나빠진다)


동시요청 수가 일정치 이상 넘어가면

- 총 소요시간도 증가하게 된다.

'Infra' 카테고리의 다른 글

서버운영 - JMeter 웹 부하테스팅  (0) 2019.01.08
서버운영 - 부하발생기 JMeter 설치방법  (0) 2019.01.08
물리적 하드웨어 트러블 슈팅  (0) 2018.11.08
가용성이란?  (0) 2018.11.07
시스템과 인프라 기초지식  (0) 2018.11.06