Wir sehen ein seltsames Verhalten und wir sind nicht sicher, ob es ein Problem mit Apache, PHP, MySQL oder dem Betriebssystem ist, also zu den großen Gehirnen von Stackoverflow!Apache/PHP-Prozesse hängen während der Interaktion mit MySQL
Wir haben Apache und mod_php im Gespräch mit einem mysql5 Server. Manchmal entscheidet sich ein Prozess zu hängen und versucht, von einem Dateideskriptor zu lesen.
Anzündung Strace eine auf von ihnen (alle hängen Prozesse die gleichen Ergebnisse zeigten) ergab dies:
[[email protected] ~]# strace -p 8450
Process 8450 attached - interrupt to quit
read(57, <unfinished ...>
Also, was es versucht, zu lesen?
[[email protected] ~]# lsof -p 8450
...
...
httpd 8450 apache 57u IPv4 5546599 TCP
prweb133v.local:36615->hadat.local:mysql (ESTABLISHED)
Das ist unser MySQL-Server! Ok, vielleicht versuchte es die Ergebnisse einer Anfrage zu lesen, dachte ich. Beim Überprüfen der Prozessliste auf dem MySQL-Server wurde die Verbindung hergestellt, jedoch im Status SCHLAF.
Hmmmm.
Also habe ich netstat überprüft, wer versucht hat, was zu senden/zu erhalten.
auf dem Webserver:
[[email protected] ~]# netstat -t -n -a | grep 36615
tcp 0 5 172.23.179.6:36615 172.23.179.67:3306
ESTABLISHED
und auf dem MySQL-Server gibt es eine etablierte Verbindung aber 0 in der Sende- oder Empfangswarteschlangen.
Irgendeine Idee, was diese mysteriösen 5 Bytes sein könnten, oder warum sie zufällig den mysql Server nicht bekommen?
Prost!
Mike
Können Sie die Datenbank selbst und/oder von anderen Anwendungen aus verbinden und abfragen? – jdizzle
Sind Sie sicher, dass dies zufällig geschieht und dass es nicht an ein bestimmtes Skript gebunden ist? –
Ich bin Mikes Kollege; Wenn Sie sich in diesem Fehlerzustand befinden, können Sie einen neueren Browser öffnen (eine neue PHP-Sitzung erhalten) und die Site verwenden, als ob nichts passiert wäre. Die Datenbank ist also immer noch in Ordnung. Es kann an ein Skript gebunden sein, das auf allen Seiten enthalten ist, aber es ist (bis jetzt) zufällig, welche Seite den Fehler auslöst. – crb