session_start scheint sehr langsam zu sein (aber nur manchmal)

Aus irgendeinem Grund hat sich unser Server gerade heute dazu entschlossen, beim Starten von Sitzungen sehr langsam zu sein. Bei jedem session_start läuft der Server nach 30 Sekunden ab oder es dauert ungefähr 20 Sekunden, bis die Sitzung gestartet wird. Das ist sehr seltsam, da es dies schon sehr lange nicht mehr getan hat (das letzte Mal, dass unser Server dies tat, war vor ungefähr 7 Monaten). Ich habe versucht, die Sitzung so zu ändern, dass sie stattdessen über eine Datenbank ausgeführt wird. Da jedoch unsere aktuelle Website erstellt wird, würde es Tage dauern, bis auf jeder Seite eine neue Sitzung geladen wird Handler. Daher bleibt meine Frage:

Warum ist es so langsam und warum nur manchmal?

Wir arbeiten auf einem dedizierten Hetzner-Server mit 24 GB RAM und einer CPU, die schnell genug ist, um einen einfachen Webserver zu betreiben (ein Xeon, glaube ich, bin mir aber nicht sicher). Wir führen Debian auf dem Server mit einem Apache + Fastcgi + PHP5-Setup aus.

Der Server meldet weder über den Serverstatus noch über den Server eine hohe Auslastungtop Befehl.Vnstat meldet keinerlei Probleme mit unserer Netzwerkverbindung (dies würde wiederum nicht zu einer langsamen lokalen Sitzungsabwicklung führen).IOtop meldet kein Problem mit Prozessen, die die gesamte Festplatte übernehmen. Das Schreiben in den tmp-Ordner, in dem sich die Sitzungsdateien befinden, funktioniert schnell, wenn dies über vim erfolgt.

Um dies zu verdeutlichen, geht es mir hier hauptsächlich darum, ob wir auf eine Datenbank oder eine im Speicher zwischengespeicherte Version der Sitzungen wechseln sollen oder nicht. Ich möchte nur fragen, warum dies geschieht, denn alles, was ich mir anschaue, scheint zu sein gut funktionieren, außer für das PHP selbst.

BEARBEITEN: Die maximale Datei in unserem PHP-tmp-Verzeichnis ist 2,9 MB groß, also glaube ich, dass nichts Auswirkungen haben sollte.

AKTUALISIEREN: Ich habe nie herausgefunden, was falsch war und / oder wie es behoben werden kann, aber das Problem ist verschwunden, nachdem wir auf memcached / db-Sitzungen umgestellt haben.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage