Jump to content
Froxlor Forum
  • 0
aPollO

Service Unavailable - PHP lässt mich im Stich

Question

Lieber Community,

erstmal vorweg. Ja ich weiß das ist kein Froxlor Problem an sich. Allerdings habe ich das Problem im Zusammenhang mit Froxlor und hier sind ja auch einige wirklich schlaue und belesene Leute dabei. Vielleicht ist also Jemand im Stande mich auf die richtige Fährte zu schicken.

Ich habe seit einiger Zeit (seitdem ich Debian mit allem drum und dran neu installiert habe und dann eine bestehende Froxlor-Installation mit allen Kunden darauf migriert habe) das Problem, dass offenbar das PHP-FPM "hängt". Das ganze wirkt sich dann so aus, dass ich folgende Logzeilen im Error-Log des Kunden habe:

 

[Fri Mar 29 17:04:50.504543 2019] [proxy_fcgi:error] [pid 17024:tid 140393488283392] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58255] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:04:53.952288 2019] [proxy_fcgi:error] [pid 16827:tid 140393648056064] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58256] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:04:55.194137 2019] [proxy_fcgi:error] [pid 17024:tid 140393479890688] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58258] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:04:55.318287 2019] [proxy_fcgi:error] [pid 16892:tid 140393673234176] (70007)The timeout specified has expired: [client 11.22.33.44:1036] AH01075: Error dispatching request to : (polling)
[Fri Mar 29 17:04:55.690728 2019] [proxy_fcgi:error] [pid 16893:tid 140392590722816] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58257] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:04:56.543343 2019] [proxy_fcgi:error] [pid 16827:tid 140393639663360] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58259] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:04:58.008471 2019] [proxy_fcgi:error] [pid 17024:tid 140393471497984] (70007)The timeout specified has expired: [client 12.23.34.45:48424] AH01075: Error dispatching request to : (polling)
[Fri Mar 29 17:05:05.428688 2019] [proxy_fcgi:error] [pid 17024:tid 140393446319872] (70007)The timeout specified has expired: [client 10.20.30.40:32936] AH01075: Error dispatching request to : (polling)
[Fri Mar 29 17:05:10.010339 2019] [proxy_fcgi:error] [pid 16827:tid 140393530246912] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58261] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:05:11.481955 2019] [proxy_fcgi:error] [pid 17024:tid 140393437927168] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58262] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:05:12.720592 2019] [proxy_fcgi:error] [pid 16827:tid 140393521854208] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58264] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad
[Fri Mar 29 17:05:16.349631 2019] [proxy_fcgi:error] [pid 17024:tid 140393681626880] (70007)The timeout specified has expired: [client AA.BB.CC.DD:58265] AH01075: Error dispatching request to : (polling), referer:  https://www.example.com/asdkjaksldad

Im Browser ist dann nur noch folgendes zu sehen:

spacer.png

Leider betrifft dies dann alle Kunden welche die selbe PHP-Version nutzen. Ich habe schon ein wenig im access Log gesucht was der Auslöser dafür sein könnte, aber so richtig etwas auffälliges gefunden. Ich vermute es kommt vor wenn ein PHP Script hängt oder wenn zu viele parallele Aufrufe stattfinden.

Derzeit ist das PHP so konfiguriert

1125720310_2019-03-2920_45_48-aPollO-FroxlorServerManagementPanel.thumb.png.96ba1bbc68499f9ade55980f753ee919.png

Ich hab jetzt die anderen Websites erstmal so "gerettet" indem ich eigentlich nichts mehr mit Version 7.0 laufen lasse sonden auf 7.1, 7.2 und 7.3 umgestellt habe. Ich weiß es gibt einige Dokumente die davon sprechen wie man am besten berechnet welche Werte an ein Optimum herankommen sollen. Allerdings hab ich da noch nichts guts gefunden, vielleicht hat Jemand einen Tipp?

Könnte es sein, dass es einfach zu wenig Prozesse sind?

Jede Menge Aufrufe rennen ins Timeout. Kann ich rausbekommen wieso? Was hängt da oder antwortet ewig nicht?

Nach ca. 10-15 Minuten funktioniert dann meistens auf ein mal wieder alles reibungslos und schnell als wäre nie etwas gewesen. Die Fehlermeldungen im Error-Log verschwinden dann.

Im Moment wäre ich über jede Hilfe dankbar, ich belese mich aber auch paralell weiter.

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
15 hours ago, aPollO said:

Hast du eime Empfehlung, gibts eine Faustformel oder ein Guide wonach du dich orientierst?

Da fast alles unterschiedliche anforderungen hat ist das echt ein probieren meisten. Meisten bei kleinen seiten endet es beim ondemand PM weil da halt kaum was passiert

Share this post


Link to post
Share on other sites
  • 0

Idle-Timeout mal höher gestellt? 

Share this post


Link to post
Share on other sites
  • 0

Ich hatte es vorher auf 60 Sekunden. Das hatte aber (subjektiv gefühlt) keinen Unterschied gemacht. Das Problem dass das ganze PHP zeitweise steht bestand trotzdem. Aber ich werds mal auf 2 Minuten setzen und beobachten.

Finde es aber trotzdem komisch, selbst wenn 1 Skript lange läuft dürfte doch nicht alles hängen und nichts mehr reagieren für über 10 Minuten oder? Oder hab ich das ganze FPM Konzept irgendwie nicht verstanden.

Share this post


Link to post
Share on other sites
  • 0

Ich würde schätzen das kommt von PM=static Und zu hohe Werte das dein System da nicht mitspielt

Share this post


Link to post
Share on other sites
  • 0

Ich werde das noch mal durchkalkulieren. Ich hatte mir dazu einiges durchgelesen unter anderem das hier https://www.kinamo.be/en/support/faq/determining-the-correct-number-of-child-processes-for-php-fpm-on-nginx

War aber irgendwie noch nicht so aufschlussreich. Ich muss mir da wohl die Doku noch mal genauer zu gemüte führen. Ich hätte irgendwie erwartet, dass die Fehlermeldung etwas mehr Aussagekraft hat, sowas wie "no free process to dispatch" oder sowas :D Achja Wunschdenken halt.

Hast du eime Empfehlung, gibts eine Faustformel oder ein Guide wonach du dich orientierst?

Share this post


Link to post
Share on other sites
  • 0

Ich hab es jetzt mal auf dynamic umgestellt und ein bisschen angepasst und mal schauen ob es jetzt wieder vorkommt. Kam ja vorher auch nur alle paar Tage mal vor, dass das hing.

Auf static hatte ich es weil die Seite über 120.000 Aufrufe am Tag hat und entsprehend zur Rush Hour einiges los ist.

Share this post


Link to post
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





×
×
  • Create New...