Jump to content
Froxlor Forum
  • 0

Idle timeout wird nicht übernommen


matsy
 Share

Question

Warum wird mein PHP-FPM idle timeout nicht übernommen?

In PHP Versionen ist 120s eingestellt.

In PHP Konfigurationen 300s, Überschreibe FPM-Daemon Einstellungen ist angehakt. Domain entsprechend zugeordnet.

Trotzdem wird es nicht übernommen. Es bleibt bei 120s.

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0

Dann scheint bei mir etwas nicht zu stimmen.

 

Im Moment sieht es so aus.

 

Unter PHP-FPM Versionen: 
Process Manager Control: dynamic
Idle-timeout: 120s

Unter PHP Konfigurationen die entsprechende PHP Version zugeordnet.
Überschreibe FPM-Daemon Einstellungen: Angehakt
Process Manager Control: ondemand
Idle-timeout: 30s

Im Vhost steht dennoch: FastCgiExternalServer -idle-timeout 120

Hier müssten nun doch die 30s stehen? Oder ist das eine andere Einstellung?

Link to comment
Share on other sites

  • 0
Just now, matsy said:

Also im Dropdownfeld bleibt es auf "ondemand" eingestellt.

ja dann stimmt ja offenbar was nicht?! Versuch es doch mal bitte zunächst mit exakt den gleichen PM einstellungen wie der parent und ändere nur die idle-time um auszuschließen das da aus einem anderen grund die sachen nicht gespeichert werden

Und nutze bitte auf jeden Fall die aktuellste froxlor version um auszuschließen das es sich um uralte probleme handelt die schon lange gefixed sind

Link to comment
Share on other sites

  • 0

Nein, da habe ich dich missverstanden: Das Dropdownfeld zeigt korrekt das an, was ich einstelle.

Muss der parent auf etwas bestimmtem stehen?

Ich stelle jetzt einmal beides auf "ondemand" nur mit unterschiedlichen Idle-Timeout.

Link to comment
Share on other sites

  • 0

So ich habe gerade das Update gemacht. Folgende Situation:

1. Die Crons haben nicht mehr funktioniert. Obwohl ich im Syslog den Aufruf des Crons sehe, wurden keine Konfigs mehr neu erstellt. Ich habe das mit dem -force parameter nun ainmal manuell gemacht, da hat es funktioniert. Ob es nun wieder automatisch geht, muss man sehen.

2. Der Idle Timeout wird immer noch nicht übernommen.

Link to comment
Share on other sites

  • 0

Vielleicht schaue ich auch falsch oder habe ein Verständnisproblem?

Ich sehe, dass unter /etc/php/7.0/fpm/pool.d conf-Dateien für die Domains liegen, in denen pm.process_idle_timeout auf die richtige Dauer vom child gesetzt ist.

In der entsprechenden vhost unter /etc/apache2/sites-enabled steht aber unter FastCgiExternalServer die falsche Zeit, nämlich die vom parent.

Ist es überhaupt richtig, dass in beiden die gleichen Sekunden stehen müssten?

 

Link to comment
Share on other sites

  • 0
32 minutes ago, d00p said:

Ach im vhost...ja sag das doch gleich - müsst ich Mal schauen ob da ggfls nicht der korrekte wert genommen wird ja

Hab ich doch: 

 

Ja bitte, wäre nett, wenn du das überprüfen kannst. Wichtig wäre ja nicht, ob der Wert angezeigt wird, sondern ob er übernommen wird. Da in meinen Logs der Idle-Timeout steht, befürchte ich, dass das System den Wert nicht berücksichtigt.

 

Link to comment
Share on other sites

  • 0

Jap, da liegt der Hund begraben, dort wird eine andere Funktion zum Auslesen der fpm-daemon-settings verwendet die die override-settings der php-config nicht berücksichtigt. Schau mal ob folgender Patch dein Problem löst:

diff --git a/lib/Froxlor/Cron/Http/Php/PhpInterface.php b/lib/Froxlor/Cron/Http/Php/PhpInterface.php
index 7d85cea8..ae57f5f9 100644
--- a/lib/Froxlor/Cron/Http/Php/PhpInterface.php
+++ b/lib/Froxlor/Cron/Http/Php/PhpInterface.php
@@ -108,6 +108,11 @@ class PhpInterface
                                $this->_php_configs_cache[$php_config_id]['fpm_settings'] = Database::pexecute_first($stmt, array(
                                        'id' => $this->_php_configs_cache[$php_config_id]['fpmsettingid']
                                ));
+                               // override fpm daemon settings if set in php-config
+                               if ($this->_php_configs_cache[$php_config_id]['override_fpmconfig'] == 1) {
+                                       $this->_php_configs_cache[$php_config_id]['fpm_settings']['limit_extensions'] = $this->_php_configs_cache[$php_config_id]['limit_extensions'];
+                                       $this->_php_configs_cache[$php_config_id]['fpm_settings']['idle_timeout'] = $this->_php_configs_cache[$php_config_id]['idle_timeout'];
+                               }
                        }
                }

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...