본문 바로가기

개발

502 Bad Gateway PHP-FPM 최적화

Nginx, MySQL, PHP0FPM, PHP 8 환경에서 child-process 가 부족하여 lock 발생 에러 확인될 경우 php-fpm conf 파일을 수정하여 최대 요청과 프로세스 수를 수정합니다.

 

[21-Feb-2022 05:14:17] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it

 

php7.4-fpm 평균 프로세스 메모리 추적

ps --no-headers -o "rss,cmd" -C php7.4-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"Mb") }'

 

서버 메모리 확인

free -h

 

pm.max_children 계산 

서버 메모리 8GB일 경우, 8000MB / 20MB = 400

 

pm.max_children = 400 // 동시 최대 프로세스 수 

pm.start_servers = 120 // 처음 시작할 때 max_children 30% 

pm.min_spare_servers = 80// 최소 사용값 max_children 20%

pm.max_spare_servers = 200// 최대 사용값 max_children 50% (이 수가 넘어가면 프로세스 삭제)

pm.max_requests = 500 // 최대 요청값

 

 

 

반응형

'개발' 카테고리의 다른 글

OAuth 1.0, OAuth 2.0  (0) 2022.10.14
JMeter 을 활용한 웹 부하 테스트  (0) 2021.02.14
Linux 작업 예약 스케줄러 (Cron)  (2) 2020.12.25
gitignore.io  (0) 2020.12.14
Shield IO  (0) 2020.12.04