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 // 최대 요청값
'개발 > PHP' 카테고리의 다른 글
502 Bad Gateway PHP-FPM 최적화 (0) | 2022.02.25 |
---|---|
Secure Coding - SQL Injection (0) | 2021.01.08 |
PSR-0, PSR-1, PSR-2 (PHP Standards Recommendations) (0) | 2020.09.07 |
PHP 7 엄격한 타이핑 (strict mode) (0) | 2020.09.07 |
PHP CI Chunk File Upload - Plupload (0) | 2020.06.05 |