Sven Rautenberg: Server entlasten - wie?

Beitrag lesen

Moin!

Jetzt ist die Frage: wo kann ich am besten angreifen, um das in den Griff zubekommen?

Finde heraus, wo das Problem liegt.

Zuerst solltest du dir mal die Logfiles angucken, die der Server schreibt. Analysiere, ob nach deinen Maßstäben hinsichtlich der reinkommenden Requests optimale Antworten gegeben werden, oder nicht. Was optimale Antworten sind, hängt natürlich vom Request ab, aber Fragen nach statischen Ressourcen sollten je Client nur einmal mit 200 und danach häufig mit 304 beantwortet werden.

Ebenfalls wäre zu beobachten, ob die Anzahl an Apache-Prozessen ausreichend dimensioniert ist, oder ob sie an das konfigurierte Maximum stößt. Dein Load ist zwar hoch, aber die Frage ist halt: Warum? Wirklich zu tun hat die CPU ja anscheinend nicht, ist nur 50% ausgelastet, trotzdem ist die Kiste gut ausgelastet - was verbrät da so viel Zeit?

Hinsichtlich der Optimierung wäre, sofern eine grobe Analyse z.B. der Festplatten- oder Datenbankzugriffe nichts auffälliges anzeigt, als nächster Schritt ein Profiling der PHP-Applikation angesagt.

  • teilweise habe ich JS-Dateien zusammengeführt und CSS-Sprites in Betrieb, um die Anzahl der HTTP-Requests zu drücken. Die Seite ist aber sehr bildlastig, darum kommt da schon ein bisschen Traffic zusammen.

Dann wäre es ein Ansatzpunkt, die Bilder auf einen zweiten Server auszulagern, um so die Zahl der Requests aufzuteilen. Dieser Ansatz empfiehlt sich allerdings nur, wenn tatsächlich die Zahl der parallelen Requests auf dem Server das Problem ist, und sich auch nicht durch Hochsetzen der Apache-Prozesse mildern lässt.

- Sven Rautenberg