ab를 이용한 부하발생과 모니터링 툴 활용

홍성현·2023년 4월 12일
0

실습목적

부하를 발생시키기 위하여 apache의 ab를 사용하고 top 명령어를 통하여 모니터링을 진행한다.LB 서버에 부하를 발생시켜 모니터링을 진행하면 관련된 프로세스가 높은 부하를 일으키지 않을까 예상을 한다.

ab란 무엇인가?

ab는 아파치의 웹서버 성능검사 도구로써 HTTP 서버의 성능을 검사한다. 현재 아파치가 어떻게 동작하는지 알려준다. 아파치가 현재 초당 몇개의 요청을 서비스하는지 알려준다. 간단하고 빠르게 부하를 발생시키기 위해서 사용한다.

ab -n 100 -c 100 -t 60  [http://]hostname[:port]/path
  • -n: requests 성능을 검사하기위해 보내는 요청수.
  • -c: concurrency 동시에 요청하는 요청수. 기본적으로 한번에 한 요청만을 보냄.
  • -t: timelimit 성능을 검사하는 최대 초단위 시간. 내부적으로 -n 50000을 가정한다. 정해진 시간동안 서버 성능을 검사할때 사용한다. 기본적으로 시간제한 없이 검사한다.

top명령어란 무엇인가?

top program은 실행중인 시스템의 dynamic real-time view를 제공한다. Linux kernel에 의하여 관리되는 process와 thread들을 확인할 수 있고 system summary 정보를 볼 수 있다.

  • Load Average:
  • Tasks:
    -running: 실행중인 Process
    -sleepling: 기다리는 Process
    -stopped: 대기 상태인 process
    -total: 전체 process
    -zombie: root process로 부터 닿을 수 없는 Process
  • CPU Usages:이 영역은 CPU가 어떻게 사용되고 있는지 그 사용율을 보여주는 영역이다. 모든 값의 총 합은 100% 이며 이를 퍼센테이지로 나누어서 보여준다.
    - us : 프로세스의 유저 영역에서의 CPU 사용률
    - sy : 프로세스의 커널 영역에서의 CPU 사용률
    - ni : 프로세스의 우선순위(priority) 설정에 사용하는 CPU 사용률
    - id : 사용하고 있지 않는 비율
    - wa : IO가 완료될때까지 기다리고 있는 CPU 비율
    - hi : 하드웨어 인터럽트에 사용되는 CPU 사용률
    - si : 소프트웨어 인터럽트에 사용되는 CPU 사용률
    - st : CPU를 VM에서 사용하여 대기하는 CPU 비율
  • Memory Usages: %Cpu(s) 영역 아래에 메모리와 관련된 영역. 첫번째 줄은 RAM의 메모리 영역으로 Mem이라 표시되어있는 영역, 아랫줄은 디스크를 메모리 처럼 이용하는 Swap 메모리 영역, buff/cache는 IO와 관련되어 사용되는 버퍼에 사용되는 메모리

실습확인

  1. 평소의 상태

  2. 부하 부여

  3. 부하 발생 중

    부하발생 이후 haproxy가 가장 위로 올라오는 것을 알 수 있다. TIME+ 프로세스가 사용한 토탈 CPU시간이 가장높다

Reference

https://sabarada.tistory.com/146
https://httpd.apache.org/docs/2.4/ko/programs/ab.html
https://man7.org/linux/man-pages/man1/top.1.html

profile
System Engineer 기록일지

0개의 댓글