본문 바로가기

Stress Test

[부하 테스트] 서버 설정

이번 장에서는 부하테스트를 진행하는 동안 EC2 Instance의 리소스를 확인하기 위한 설정을 하는 방법에 대해서 알아본다.
필자의 경우 AWS를 사용해 서버를 구축하였기 때문에 EC2 Instance에 종속적인 설명이 될 수도 있다.
만약 필자가 설명한 방식으로 진행이 되지 않는다면 자신이 사용하는 Instance에 맞는 방식으로 바꿔서 진행해야한다.

[부하 테스트] 개요(링크)에서 본 것과 같이 부하테스트의 대상이 되는 Instance에 설치된 nmon이 테스트 동안의 리소스 사용량을 기록한다. 기록된 파일을 nmonchart에 의해 보기 좋게 html 파일로 변경된다. 변경된 파일을 개발자의 브라우저로 옮겨서 확인하는 과정까지 이번장에서 알아보도록 한다.


관련 자료


사전 준비

Instance에 있는 기록파일을 개발자의 브라우저로 옮겨야한다. 여러가지 방법이 존재하지만 필자는 Iterm2와 zmodem을 사용하여 파일을 옮길 예정이다. 혹시라도 Instance의 파일을 자신의 PC로 옮길 준비가 되어 있지 않다면 여기(링크)의 문서를 확인하고 세팅을 완료해두도록 한다. 서버쪽 설정은 필자와 함께 살펴볼 예정이니 자신의 PC만 설정을 완료하면 된다.


  1. epel 설치

우리는 EC2 Instance에 설치를 해야한다. 많은 공식문서에서 제시하는 Linux에 설치하는 방법으로 진행하는 경우 설치가 되지 않을 수 있으므로 필자가 정리한 방법대로 진행해야한다.

아래의 커맨드를 입력하여 epel을 설치한다.

 $ sudo amazon-linux-extras install epel

Installed: epel-* 가 표시된다면 정상적으로 설치가 완료된 것이다.

  1. nmon 설치

아래의 커맨드를 입력하여 nmon을 설치한다.

$ yum install nmon

Installed: nmon.* 가 표시된다면 정상적으로 설치가 완료된 것이다.

  1. nmon 실행 (필수 X)

nmon의 경우 크게 실시간으로 확인하는 기능과 기록을 통해 확인하는 기능이 있다. 부하테스트 결과는 기록을 통해 확인할 예정이지만 nmon이 어떠한 프로그램인지 확인하기 위해 실시간으로 한번 확인해보도록 한다.

아래의 커맨드를 입력하여 nmon을 실행시킨다.

$ nmon

아래의 이미지와 같이 nmon이 실행되었다면 원하는 리소스를 찾아서 눌러보도록 한다.

필자의 경우 c (CPU), m (memory) 버튼을 눌러서 실시간으로 CPU와 Memory를 상태하는 화면을 만들어두었다.

  1. nmonchart 설치

적당한 디렉토리로 이동하여 아래의 커맨드를 입력하여 nmonchart를 설치한다.
(만약 Instance에 git이 설치되어 있지 않다는 오류가 표시된다면 yum install git을 입력하여 git을 설치하도록 한다.)

$ git clone https://github.com/aguther/nmonchart.git
  1. 리소스 기록 시작

위의 과정까지 모두 진행하였다면 이제 모든 준비가 완료되었다.
아래의 커맨드를 입력하여 Instance의 리소스 사용량을 기록해보도록 한다.

$ nmon -F tutorial.nmon -s 5 -c 360 /home/stress/nmonchart

-F: 생성된 파일의 이름
-s: 리소스를 기록 간격 (단위 second)
-c: 총 리소스 기록(스냅샷) 수
/home/stress/nmonchart: 파일을 저장할 경로

위의 커맨드는 5초 간격으로 360개의 스냅샷을 생성하므로 5 seconds * 360 = 1800 seconds = 30 minutes. 즉, 5초 간격으로 30분동안 리소스를 기록하겠다는 의미이다.
이외의 nmon 기능에 대해서 알아보고 싶다면 여기(링크)를 눌러서 확인한다.

위의 커맨드를 입력하여 nmon을 실행하였다면 정상적으로 기록하고 있는지 확인해보도록 한다.

$ ps aux | grep nmon

아래의 이미지와 같이 실행 중이라면 정상적으로 기록이 진행되고 있는 것이다.

  1. 차트 생성

30분이 지나서 기록이 완료되었다면 (30분이 지나지 않아도 가능) 차트를 생성해본다.
4번 단계에서 nmonchart를 기록한 디렉토리로 이동하여 아래의 커맨드를 입력한다.
만약 /usr/bin/ksh 를 찾지못한다는 오류가 발생하면 yum install ksh를 입력하여 필요한 파일을 설치하도록 한다.

$ ./nmonchart tutorial.nmon tutorial.html

tutorial.nmon: 차트로 만들 리소스 기록 파일
tutorial.html: 차트파일 명

정상적으로 차트 파일이 생성되었다면 아래의 이미지와 같이 tutorial.html 파일이 생성되었을 것이다.

  1. 파일 이동

필자는 iterm2와 zmodem 조합으로 파일을 필자의 PC 로 이동시킬 것이다. 다른 방법을 사용하여도 무방하다.

$ sz {filename}

  1. 차트 확인

기존에 사용하던 브라우저를 통해서 차트파일을 열어보도록 한다.
아래의 이미지와 같이 정상적으로 차트파일이 열린다면 정상적으로 차트파일이 생성된 것이다.


지금까지 부하테스트를 위해서 서버를 세팅하는 방법에 대해서 알아보았다.
부하테스트를 위한 모든 준비는 완료되었다. 다음 장부터는 실제로 부하테스트를 진행해보도록 한다.

'Stress Test' 카테고리의 다른 글

[부하 테스트] 분석 (1차)  (0) 2022.01.22
[부하 테스트] 결과 (1차)  (0) 2022.01.22
[부하 테스트] Jmeter 상세 설정  (0) 2022.01.22
[부하 테스트] Jmeter 설정  (0) 2022.01.22
[부하 테스트] 개요  (0) 2021.12.29