LEMP stack/PHP

PHP8.4-FPM 성능 최적화 (프로세스 관리 설정)

itsdev 2025. 4. 11. 01:12

PHP-FPM(FastCGI Process Manager)은 PHP에서 중요한 성능 구성 요소 중 하나이다.
특히 www.conf 파일을 통해 프로세스 관리 방식을 최적화하면, 더 많은 동시 요청을 효율적으로 처리할 수 있다.
이 글에서는 PHP 8.4 기준으로 PHP-FPM의 프로세스 관리 관련 설정을 정리했다. 🧠


📚 목차

  1. php-fpm 프로세스 관리 설정
  2. 설정 예시 및 적용

1. PHP-FPM 프로세스 관리 설정 ⚙️

PHP-FPM은 워커 프로세스를 통해 동시 요청을 처리한다.
/etc/php/8.4/fpm/pool.d/www.conf 파일을 수정하여 이 프로세스의 동작 방식을 최적화할 수 있다.

cd /etc/php/8.4/fpm/pool.d
sudo nano www.conf

pool.d - www.conf
pool.d - www.conf



1.1 주요 설정 항목

  • pm: 프로세스 관리 방식 (기본값: dynamic)

pm은 아래 세 가지 모드 중 하나로 설정할 수 있다:

  • 🟢 static: 고정된 수의 프로세스를 유지한다. 트래픽이 일정한 경우 적합하다.
  • 🔁 dynamic: 요청 수에 따라 프로세스 수를 유동적으로 조절한다. 대부분의 서버에 권장된다.
  • 📡 ondemand: 요청이 들어올 때만 프로세스를 생성한다. 리소스 절약이 필요할 때 유용하다.
pm = dynamic

pool.d - www.conf - pm
pool.d - www.conf - pm

🔹 pm.max_children

생성 가능한 최대 프로세스 수를 지정한다. 서버의 메모리 용량에 따라 설정해야 한다.

pm.max_children = 50

pool.d - www.conf - pm.max_children
pool.d - www.conf - pm.max_children

🔹 pm.start_servers

PHP-FPM이 시작할 때 생성할 초기 프로세스 수이다.

pm.start_servers = 5

pool.d - www.conf - pm.start_servers
pool.d - www.conf - pm.start_servers

🔹 pm.min_spare_servers

요청이 없을 때 유지할 최소 대기 프로세스 수이다.

pm.min_spare_servers = 5

pool.d - www.conf - pm.min_spare_servers
pool.d - www.conf - pm.min_spare_servers

🔹 pm.max_spare_servers

요청이 없을 때 유지할 최대 대기 프로세스 수이다.

pm.max_spare_servers = 10

pool.d - www.conf - pm.max_spare_servers
pool.d - www.conf - pm.max_spare_servers

🔹 pm.max_requests

각 프로세스가 처리할 최대 요청 수를 의미한다. 이 값을 설정하면 일정 횟수 후 프로세스를 재시작하여 메모리 누수 방지에 도움이 된다.

pm.max_requests = 500

pool.d - www.conf - pm.max_requests
pool.d - www.conf - pm.max_requests




2. 설정 예시 및 적용 방법 🔄

✅ 설정 예시 (동적 프로세스 모드 기준)

pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500

💡 위 설정은 RAM이 2GB 이상인 서버 기준으로 적절한 예시이다.
메모리 자원이 적거나 많은 경우, pm.max_children 값을 조정해야 한다.

🔁 설정 적용

설정 후 PHP-FPM 서비스를 재시작해야 변경 사항이 반영된다.

sudo systemctl restart php8.4-fpm

php-fpm 재시작
php-fpm 재시작




💬 마무리

www.conf를 통한 PHP-FPM 튜닝은 웹 애플리케이션의 처리 속도와 안정성에 직접적인 영향을 준다.
특히 트래픽이 많은 환경이나 WooCommerce, Laravel 등 프레임워크 기반 사이트에서는 이 설정이 매우 중요하다.
운영 중인 서버의 사양과 트래픽 패턴을 고려하여, 각 항목을 균형 있게 조정하는 것이 성능 최적화의 핵심이다. 🚀

다음 글에서는 OPcache 설정을 통한 PHP 실행 속도 향상에 대해 알아보자. 💡

728x90
반응형
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.