[LINUX] www.conf & php‐fpm.conf FOR vm 8cpu 16gb - fourslickz/notes GitHub Wiki

REFERENCE

pm.start_servers = 25%–35% dari pm.max_children

pm.min_spare_servers = 12%–25% dari pm.max_children

pm.max_spare_servers = 30%–40% dari pm.max_children

EXAMPLE FOR ALLOCATE 12GB FOR PHP

pm.max_children = 12000MB / 150MB = ~80

ps -ylC php-fpm --sort:rss | awk '{SUM += $8} END {print SUM/NR/1024 " MB"}'

www.conf

[www]

; Socket or TCP
listen = /run/php/php7.x-fpm.sock
; listen = 127.0.0.1:9000

listen.backlog = 65535
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

user = www-data
group = www-data

; Process manager
pm = dynamic
pm.max_children = 80
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 25
pm.max_requests = 500

; Status for monitoring
pm.status_path = /status
ping.path = /ping

; Log files
access.log = /var/log/php7.x-fpm/access.log
slowlog = /var/log/php7.x-fpm/slow.log
request_slowlog_timeout = 5s

; PHP values
php_admin_value[memory_limit] = 512M
php_admin_value[upload_max_filesize] = 128M
php_admin_value[post_max_size] = 128M
php_admin_value[max_execution_time] = 300
php_admin_value[max_input_time] = 300
php_admin_value[realpath_cache_size] = 4096k
php_admin_value[realpath_cache_ttl] = 600

php-fpm.conf

[global]
pid = /run/php/php7.x-fpm.pid
error_log = /var/log/php7.x-fpm.log
log_level = notice

; Optional: jika pakai status monitoring banyak pool
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
daemonize = yes