Persistente Verbindungen sind persistente Verbindungen, weil sie eben nicht automatisch wieder geschlossen werden![]()
Dann ist es relativ logisch, dass irgendwann der MySQL-Server dicht macht, weil 100 Verbindungen gleichzeitig offen sind und damit das definierte Limit erreicht ist.
Wie ist denn der Apache eingerichtet?
Den Symptomen nach zu urteilen, dürfte da PHP als FastCGI-Prozess laufen und so 8-12 gleichzeitige Worker aufmachen. Jeder FastCGI-Prozess macht jedoch seine eigene persistente Verbindung auf, womit du mindestens 12 gleichzeitige Verbindungen hast.
Wenn die FastCGI-Prozesse nach 200-300 Requests neugestartet werden und die MySQL-Verbindung dabei nicht geschlossen wird, häufst du halt immer mehr tote Verbindungen an, bis 100 Verbindungen erreicht sind und der MySQL-Server dicht macht.
Wie verbindet ihr denn zum MySQL-Server? Wenn der auf der selben Maschine läuft, bietet sich "localhost" an. Damit verbindet ihr nicht über das langsame TCP sondern durch das lokale Socket und könnt auch auf persistente Verbindungen verzichten.
127.0.0.1 ist zwar auch in gewisser Weise "localhost", aber eben wieder eine TCP-Verbindung - sollte also nur verwendet werden, wenn überhaupt keine Alternative da ist.


LinkBack URL
About LinkBacks
Zitieren
