본문 바로가기

리눅스

Apache/PHP-FPM 메모리 사용량 모니터링 방법

반응형

Apache/PHP-FPM 메모리 사용량 모니터링 방법

웹 서비스 운영 시 Apache와 PHP-FPM의 메모리 사용량을 지속적으로 모니터링하면 적절한 프로세스 수 산정 및 장애 예방에 도움이 된다.

Apache 모니터링

Apache 메모리 사용량 확인

ps -ylC httpd | awk '{x += $8;y += 1} END {print "Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'

실행 결과

$ ps -ylC httpd | awk '{x += $8;y += 1} END {print "Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
Memory Usage (MB): 1618.67
Average Proccess Size (MB): 323.734

결과 설명

  • Memory Usage : Apache 전체 프로세스의 RSS 합계
  • Average Process Size : Apache 프로세스 1개당 평균 RSS 사용량
RSS(Resident Set Size)는 실제 물리 메모리 사용량을 의미한다.

Apache 프로세스 개수 확인

$ ps -C httpd --no-headers | wc -l
6

Apache 동시 접속 수 확인

ss -tan state established '( sport = :80 )' | wc -l

또는

$ netstat -an | egrep :80 | egrep ESTABLISHED | wc -l
7

Apache 접속 IP 수 확인

  • 고유 클라이언트 IP 수를 확인할 수 있다.
$ netstat -n | grep -F :80 | egrep '(ESTAB|SYN)' | awk '{print $5}' | sed 's/:[0-9]*//' | sort -u | wc -l
3

PHP-FPM 모니터링

PHP-FPM 메모리 사용량 확인

ps -ylC php-fpm  | awk '{x += $8;y += 1} END {print "Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'

실행 결과

$ ps -ylC php-fpm  | awk '{x += $8;y += 1} END {print "Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
Memory Usage (MB): 4286.97
Average Proccess Size (MB): 133.968

결과 설명

  • Memory Usage : PHP-FPM 전체 프로세스 RSS 합계
  • Average Process Size : PHP-FPM 프로세스 1개당 평균 RSS 사용량

PHP-FPM 프로세스 개수 확인

$ ps -C php-fpm --no-headers | wc -l
33

운영 시 가장 유용한 지표

Apache 메모리

ps -ylC httpd

PHP-FPM 메모리

ps -ylC php-fpm

동시 접속 수

ss -tan state established '( sport = :80 )'

PHP-FPM 프로세스 수

ps -C php-fpm --no-headers | wc -l

 

728x90
반응형