Website optimieren aufgrund starker Überlastung

Naughty

Grünschnabel
Guten Abend,
ich habe vor 5 tagen meine neue Website eröffnet. (Leider ;) ) hat sie so einen enormen Ansturm erzeugt, dass sie ab ca 300 Usern Online (gleichzeitig auf der Page) sehr instabil wird.

Um dies zu verhindern habe ich alle häufig aufgerufenen Seiten so gut es ging vorgecacht. Leider hat das nicht den erwünschten Erfolg gebracht den ich mir vorgestellt habe. Die Seite ist immernoch ziemlich stark ausgelastet obwohl ich versucht habe so wenig SQL Abfragen wie möglich zu verwenden. Des Weiteren haben wir durch einen "Abfragen Benchmark" test auch viele Abfragen überprüft. Leider wurden wir auch diesmal nicht die Lösung des Problemes ans Tageslicht befördert. An der Leistung des Servers kann es eigentlich auch nicht liegen da dieser laut "Sponsor" sehr gut ist. (Dual Opteron, 4GB Ram etc...).

Da meine Website sehr interaktiv ist, klicken User sehr oft (20 mal pro Minute) auf den verschiedensten seiten rum. Ich schätze das man pro Aufruf einer Seite noch ca. 5 Abfragen macht. Dieses steigert sich natürlich expotientiel pro User.

Meine Frage: Ich habe mal was von vorcachen von SQL Querys gehört. Weiß jemand, ob sie einen großen Vorteil bringen könnten? Oder hat jemand noch Tipps wie ich die Page noch weiter Optimieren kann?

Die Website hat eine menge Arbeit gemacht und ich würde sie ungern noch einmal komplett neu schreiben.


Ich würde mich sehr über Anregungen und Tipps von Leuten freuen, die erfahrung mit "High User" Websites und wie man diese Optimiert haben.


Mit freundlichen Grüßen
Joscha Prasse
 
Zuletzt bearbeitet:
Du solltest auch das clientseitige Caching ermöglichen. Dabei spielen die HTTP-Statuscodes sowie die HTTP-Header-Felder „ETag“, „Last-Modified“ und weitere eine wesentliche Rolle.

In welchem Sinne ist die Website denn überhaupt überlastet? Oder wie macht sich diese Überbelastung bemerkbar?
 
Sollte es eher am PHP liegen, könnte folgende Seite auch interessant sein...
http://www.blueshoes.org/en/developer/php_bench/
Hier wurden verschiedenen Php-Formulierungen auf Ihre Performance getested.

Wenn du nicht genau weisst, was der Flaschenhals ist, würd ich empfehlen an verschiedenen Teilen des Programms nen microtime wert zu erstellen und auszugeben, dann kannst du die Problembereiche einschränken...

zu MySQL noch: die richtige Verwendung von Indexen steigert die Performace meistens auch um ein ganzes Stück, aber das weisst du wahrscheinlich ja... ;-)
 
>Meine Frage: Ich habe mal was von vorcachen von SQL Querys gehört.

Dein Nadelöhr ist die Festplatte und die Datenbank. Bei hunderten oder tausenden von Usern wird es interessant, alles schon gehabt. Kann man auch alles ausrechnen... Festplattenbelastung...

Das Vorcaching hast Du gut erkannt, es ist lebensnotwendig und Du kommst daran nicht vorbei. Es erhöht die Reaktionszeit der Webseite extrem und entlastet den Server. Auch das kann man ausrechnen... aber es ist schon wieder 3 Uhr und das einzige was ich noch ausrechnen kann ist 1+1 -)))

Es gibt einen Mehrstufenplan um diese Dinge in den Griff zu bekommen. Mal abgesehen von den SQL Abfragen, die optimiert sein sollten (joins statt subselects, limit nicht vergessen) wäre das absolut nötig.

Das Vorcaching ist, richtig angewendet relativ kompliziert zu programmieren. Wir haben hier für passende Algorithmen 3-6 Monate gebraucht. Ein einfaches Verfahren würde ich sagen ist in 2-4 Wochen realisierbar - muss ja auch getestet werden (4 Tage Konzept,10 Tage Coding, 1 Woche Test, 1 Woche Korrekturen).

Wenn Du einen eigenen Server hast, gibt es ganz viele Möglichkeiten das Problem in den Griff zu bekommen, hast noch viele Möglichkeiten offen.
 
wir haben es schon ein wenig verbessert. aber naja ^^ wir werden es weiter versuchen.

falls mir jemand live support in der sache geben möchte, würde ich mich freuen wenn er mich in icq 123183081 oder msn: Info@Allstar-Mixtape.com adden könnte.


Natürlich bin ich auch über JEDEN Tip hier im Thread dankbar :)
 

Neue Beiträge

Zurück