https://opentutorials.org/course/2717/11294 ( 스트래스 준비 , 시작)
시나리오
- AWS의 EC2를 이용해 구축한 웹서버에 부하를 주며 어느정도 까지 견딜 수 있는지를 테스트한다
Name | IP | Role | CPU | RAM |
CentOS7-LoadTester | localhost | 부하 테스터 | 2 | 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 |