Switch from mod_php to PHP FPM (with some small Problems)

Switch from mod_php to PHP FPM (with some small Problems)

by Sascha Leblanc -
Number of replies: 1

Hello everyone,
Maybe one of you can help us.
We have changed our test server from mod_php to PHP FPM and have also changed the Apache MPM module from "prefork" to "event" (although this change has no influence on the following behaviour).
Since then we have the phenomenon that when we want to backup or restore a course, the progress bar is no longer displayed.
When restoring, I noticed that the progress is displayed briefly at the very end (then runs from approx. 90% to 100%) and the backup is then directly displayed as finished.

The restore and the backup itself all work, but why is the progress no longer displayed?
We have not yet activated Moodle's Asynchronous Backup/Restore option.

Is there anything else to consider when switching to php_fpm that we may not have thought of or that has caused you problems in live operation?
Some time ago, we wanted to switch to php_fpm, but the upload of course lists paralysed the entire system because deadlocks occurred (probably in FPM or Postgres).
We have not (yet?) been able to detect this problem this time. What could have caused this and could the problem hit us again?

We are using Ubuntu 18.04 LTS (Postgres, Apache, FPM etc. are the versions supplied by ubuntu). Postgres and Redis run on their own servers.

We now have the following config on moodle-test:
PHP:
date.timezone = Europe/Zurich
max_execution_time = 600
upload_max_filesize = 4G
post_max_size = 4G
max_input_time = 300
memory_limit = 1024M
opcache.memory_consumption=512
opcache.revalidate_freq=60
max_input_vars = 3000

/etc/apache2/mods-enabled/mpm_event.conf
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestsPerChild 4096
ServerLimit 26
ThreadsPerChild 25
MaxRequestWorkers 659
</IfModule>
 
/etc/php/7.2/fpm/pool.d/www.conf
[www]
 
; Unix user/group of processes
user = www-data
group = www-data
 
;The address on which to accept FastCGI requests.
listen = /run/php/php7.2-fpm.sock
listen.owner = www-data
listen.group = www-data
 
;Choose how the process manager will control the number of child processes.
pm = static
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

;The number of requests each child process should execute before respawning.
pm.max_requests = 5000


If further values are of interest, I can list them further.

Many thanks for your support. And sorry for the wall of text ;)

Best regards
Sascha

Average of ratings: Useful (1)
In reply to Sascha Leblanc

Vs: Switch from mod_php to PHP FPM (with some small Problems)

by Heidi W -
Sorry, I can't help you with this but we have a same problem. Without fpm and mpm the progress bar is displayed normally.