I have a low traffic site with prestashop and set up php-fpm 7.4 as ondemand to not eat up all the resources since most of the time there isn't any high traffic, config is as follows:
pm = ondemand
pm.max_children = 20
pm.process_idle_timeout = 10s
pm.max_requests = 500
But I have noticed that php is not killing the processes, when I test with siege with:
siege -b -i -c 10 -t 20S --no-parser -d 1s -f url.txt
The php-fpm reports as 10 idle processes even after 10s, even overnight, they just stay idle and it is not killing the idle processes. I found out that process_idle_timeout directly correspons to the amount of idle processes not killed, for example if I set process_idle_timeout to 1s, then it kills all but 1 idle proccess, if I set it to 5s, then 5 processes will sit on idle etc. Am I doing something wrong or is it a bug?