extrem viele php-cgi Prozesse (temporär)

#1
Guten Abend Community,

seit gestern Abend haben wir folgendes Phänomen festgestellt.
Gegen 20:00 Uhr fängt der Server an sehr langsam zu werden. Der average load steigt von 0,50 auf bis zu 18 an.
Auffällig ist, dass extrem viele php-cgi Prozesse entstehen und laufen.
Unter extrem viel verstehe ich > 150.
Der Server ist dann nahezu nicht erreichbar. Dieses Phänomen dauert zirka 10 - 20 Minuten.
Danach beruhigt sich die ganze Sache und es lässt sich wieder arbeiten.

Zunächst hatte ich eine DDos-Attacke vermutet. Da es aber seit gestern immer zur selben Uhrzeit stattfindet, kann ich es mir nicht vorstellen.

Habt Ihr eine Idee, die ich dieses Problem unter Kontrolle bekomme.
Wenn Ihr mehr Informationen benötigt, kann ich diese gerne liefern.

Hier ein paar Angaben zum Server:
vServer:
vier Kerne (Xenon)
14GB RAM
Debian 8
Apache2
 
#4
Du kannst mit dem Befehl netstat -n nachsehen, wie viele eingehende Verbindungen aktuell gestartet werden und vor allem von welchen IP-Adressen diese kommen. Dann kannst du die angreifenden IP-Adressen z.B. per IPTables blockieren. Wenn das zu viele sind solltest du ein bisschen nach SYN Flood Angriffen suchen und wie man sich davor schützen kann.
 
#5
Habe mittlerweile auf PHP_Mod umgeschaltet und die php-cgi Prozesse sind weg.
Nun sind aber zeitweise plötzlich richtig viele /usr/sbin/apache2 -k start Prozesse und dann geht nichts mehr auf dem Server.
Geht so zirka 10 - 20 min.
 
#6
Hast du denn geprüft wie viele eingehende Verbindungen zum Zeitpunkt der Systemlast laufen. Eine einfache Umstellung von phpfcgi auf mod_php ist eigentlich eine größere Designänderung die nicht so schnell gemacht ist :) Gerade weil sich dadurch neue Nutzerrechte auf Webseiten ergeben können für die PHP Prozesse. Ich würde daher eher empfehlen das Problem zu prüfen statt das Problem einfach über eine andere Art der PHP Behandlung abzuwickeln :) Das verlagert in der Regel das Problem lediglich.
 
#7
Vielen Dank für deine Antwort.
Die Berechtigung ist mittlerweile auch richtig umgesetzt und seit dem herrscht das Problem nicht mehr.
Eingehende Verbindungen habe ich gecheckt und da war alles in Ordnung.

Jetzt muss ich nur noch die hohe Antwortdauer von der ownCloud in den Griff bekommen und alles läuft...
 
#8
Vielleicht kann dir dabei Bugzilla helfen. Das ist ein Plugin für Firefox womit du analyiseren kannst, welche Elemente der Webseite für die lange Ladezeit verantwortlich sind.
 
#9
Gerade war es wieder soweit...
Plötzlich CPU load average auf über 6.0...
Es war seit paar Tagen ruhig und nun fängt es scheinbar wieder an.
Ich verstehe es nicht. Es sind keine auffälligen Zugriffe und Anzahl von Connections war unter 10 (netstat -n)
 
#10
Das Problem besteht zeitweise immer noch.

Kann sich jemand sonst ggf. per Teamviewer sich das Ganze anschauen?

Bildschirmfoto vom 2015-09-18 22:41:17.png
 
Zuletzt bearbeitet:
#11
Habe nun wohl die Ursache gefunden.
Nur noch keine Lösung...

Es liegt daran, dass recht viel I/O auf der Platte ist.
Einerseits der jbd2-Prozess und andererseits mysqld.
Eventuell hat jemand von Euch dasselbe Problem schon gehabt und weiß eine Lösung.

Vielen Dank.
 

Till

Administrator
#12
Ich denke mal eher dass es anders herum ist, die hohe i/o und mysql prozesse und die hohe auslastng kommen von den vielen php requests. Schau nochmal in alle access.logs, ich denke mal Du hast einfach viele gleichzeitge Zugriffe auf eine seite, das kann ein defekter spider oder ähnliches sein der auf die seite zugreift.
 
#13
So sieht z.B. der iotop Wert aus...
Die Access.log sehen alle in Ordnung aus.
Habe nicht mehr Aufrufe, Klicks, Traffic als sonst (Quervergleich zu den Logs)
Bildschirmfoto vom 2015-09-21 19:35:34.png
 

Werbung

Top