Mein Apache liefert ab und an eine Webseite (php) erst nach 45s aus. Das passiert bei ca 100 Seiten-Aufrufen pro Tag etwa 1-5x. Direkt danach (und auch davor) läuft alles normal. Soll heißen: ich klicke mich z.B. durch 5 Dateien und nur beim Aufruf der 2. Datei dauert es 45s. Wenn ich danach die Datei erneut anfrage (z.B. über F5) antwortet der Apache sofort (Datei wird nicht im Browser gecached).
Das Problem haben auch andere Rechner die im selben Netz hängen. Eine Netzwerkstörung liegt nicht vor - der Server an sich ist während der 45s Wartezeit ständig erreichbar. Die Last des Servers steigt auch nicht an.
Im Log steht dann zb:
- Code: Select all
1.1.1.1 - - [14/Oct/2010:09:29:55 +0200] "GET /index.php HTTP/1.1" 200 88884
1.1.1.1 - - [14/Oct/2010:09:30:40 +0200] "GET /css/screen.css HTTP/1.1" 304 -
Ein Mitschnitt mit Wireshark sieht so aus:
- Code: Select all
Nr Time Source Destination Protocol Info
4 11.114392 1.1.1.1 2.2.2.2 HTTP GET /index.php HTTP/1.1
5 11.114659 2.2.2.2 1.1.1.1 TCP http > 50141 [ACK] Seq=405 Ack=533 Win=2131 Len=0
6 56.153570 2.2.2.2 1.1.1.1 TCP [TCP segment of a reassemled CPU]
7 ... weitere Pakete
Als nächstes habe ich noch in die php-Datei ganz am Anfang und ganz am Ende die Uhrzeit in eine Logdatei geschrieben (um zu prüfen, ob das Script an sich eine lange Laufzeit hat). Die Differenz der beiden Zeiten (also die Laufzeit) beträgt allerdings nur 14ms.
Es sieht also so aus, als würde der Apache die Datei erst nach 45s ausliefern. Ich weiß aber nicht warum. In den .conf-Dateien habe ich alle Stellen an denen der Text "45" auftaucht schon abgesucht.
Hat jemand eine Idee wo das Problem liegen könnte oder was ich noch testen könnte ?
Danke und Gruß
Plasm