Nginx đã tối ưu thì PHP-FPM cũng phải chỉnh theo tài nguyên 12GB RAM / 6 core thì mới đồng bộ, tránh nghẽn ở tầng PHP.
/etc/php/7.4/fpm/pool.d/www.conf
(hoặc /etc/php/8.x/fpm/pool.d/www.conf
nếu bạn dùng version khác)
; User/Group chạy PHP user = www-data group = www-data ; Lắng nghe socket (phù hợp Nginx) listen = /run/php/php7.4-fpm.sock listen.owner = www-data listen.group = www-data listen.mode = 0660 ; Process manager settings pm = dynamic pm.max_children = 90 ; số worker tối đa pm.start_servers = 12 ; số process khởi tạo (theo số core) pm.min_spare_servers = 12 ; process nhàn rỗi tối thiểu pm.max_spare_servers = 24 ; process nhàn rỗi tối đa pm.max_requests = 500 ; mỗi worker xử lý 500 req rồi reset tránh rò rỉ RAM ; Giới hạn tài nguyên php_admin_value[memory_limit] = 256M php_admin_value[post_max_size] = 64M php_admin_value[upload_max_filesize] = 50M php_admin_value[max_execution_time] = 120
pm = ondemand
pm = ondemand pm.max_children = 90 pm.process_idle_timeout = 20s pm.max_requests = 500
pm = dynamic
.pm = ondemand
.htop -u www-data
max children reached
xuất hiện trong log /var/log/php7.4-fpm.log
→ tăng pm.max_children
.👉 Tóm lại cho máy bạn (12GB RAM, 6 core):
pm.max_children = 90
là hợp lý, nếu site WordPress nhiều plugin có thể giảm xuống 60 để tránh ăn RAM quá nhiều.