Seite mit sehr viel aufrufen! Brauche Lösung



Martinoloff

New Member
Halli Hallo Community,

ich habe hier ein Mittelstarkes Problem.
Ich habe eine Website die zu bestimmten Zeiten immer sehr viel Arbeitsspeicher benötigt, und sehr viele Aufrufe auf einmal aushalten kann.

Wir sprechen hier von 1000-2000 Aufrufe pro Minute.

Ich habe mir Webspace angemietet und musste sofort feststellen, dass ich den kompletten Webserver der Firma getötet habe, dass ist auch der Grund warum mich die Firma sofort gekündigt hat.

Jetzt brauche ich eine gute Lösung, wie man die Seiten am besten balancieren kann.

Da ich Newbie auf diesem Gebiet bin, ist die Frage was muss ich tun?
Die Seite ist im Prinzip eine einfache Seite mit CMS und Werbung auf der Seite.
Die Leute kommen auf die Seite um die Seite sich anzusehen, oder meine Videos welche ich von youtube verlinkt habe anzusehen.

Ich habe hier über eine folgende Lösung überlegt:
1x Virtueller Server für einen Apache2 Webserver und meine Daten.
2x Virtuelle Server mit 4-6GB RAM für 2 mySQL Datenbanken.
Aaaaber jetzt die große doofe Frage.
Ist meine Lösung doof?
Wie würdet Ihr vorgehen?
Was sollte ich mir eurer Meinung mal ansehen wenn es um solche themen geht?

Was und wie muss ich clustern?

Kleine nebenanmerkung, ich befinde mich aktuell in einer Ausbildung zum Fachinformatiker für Systemintegration und habe das Thema noch nicht gehabt, brauche aber dringend hilfe.

Vielen Dank für eure Antworten.
 
Last edited by a moderator:
Es wäre noch interessant zu wissen, welches CMS du verwendest.
Generell kommt es darauf an, ob die Last eher durch PHP erzeugt wird, oder eher durch Mysql, davon hängt im Prinzip auch ab, was man Clustert, wenn PHP z.B die meiste Last produziert wäre es eher sinnvoll 2 Webserver zu nehmen und einen Loadbalancer davorzuschalten. Wenn die Datenbank aber die meiste Last Produziert wäre es für den Anfang nicht schlecht Webserver und Datenbankenserver erstmal zu trennen, und später bei Bedarf einen zweiten Datenbankenserver dazuzupacken.
Wie das ganze Dimensioniert wird, hängt im Endeffekt auch von deinem Budget ab.
 
Heartbeat ist zur überwachung da, sozusagen sagt Server 1. zu Server 2 = noch da ? Server 2 = ja " und das halt jede Sekunde. Ist aber momentan keine Problemlösung. Sowas kannst du machen wenn du wie geschrieben z.B. 2 webserver oder Datenbankserver hast usw.
 
warum da mit virtuellen Servern anfangen? Wir haben hier auch extrem viele Aufrufe und hupfen momentan mit 3 Rootservern rum, die sich die Last teilen (eine davon nur als mysql-Server...).
 
Ich würde in dieser Reihenfolge an das Problem gehen:

  • wenn geht, Datenbankabfragen des CMS optimieren
  • wenn geht, Code des CMS optimieren
  • ReverseProxy, um Anfragen am Webserver kurz zu halten
  • Caching von statischen Content-Teilen
  • wenn das alles nix bringt, dann mit mehreren Servern weiter
  • Load-Balancing
 
Wir betreiben solche Webseiten auf Folgender Hardware:

Intel Core i7 950
24 GB RAM
3x SAS Festplatten im RAID 5 (3Ware RAID Controller mit aktivem Write Cache / BBU)

Das Problem wird sein, zu analysieren, wo die Last entsteht und was den Engpass (Flaschenhals) bei dieser Webseite darstellt. Ist der Engpass die Festplattengeschwindigkeit I/O oder RAM/CPU- Leistung.

An dieser Stelle helfen Tools wie
iotop
htop
...

Wir haben festgestellt, dass sobald eine große Menge an Daten aus der Datenbank gelesen- und geschrieben wird und zugleich die Webseite immens Daten cached, die Festplattengeschwindigkeit von SATA Festplatten in die Knie geht. Gerade wenn kein Hardware RAID Controller mit zusätzlichem Write Cache eingesetzt wird.

Abhilfe könnte in diesem Fall memcached bringen, wenn der Webseitencache in den Arbeitsspeicher ausgelagert wird und damit die I/O Last auf den Platten abnimmt. Des Weiteren sind noch eine Vielzahl an serverseitigen Optimierungen z.B. bei der Prozesslaufzeit von PHP Prozessen beim Einsatz von FCGI helfen.

In meinen Augen sind hier aber V-Server fehl am Platz. Man sollte auf ein ordentliches System setzen, was den Kapazitäten und Anforderungen der Webseite gerecht wird und dieses entsprechend optimieren.

Wenn dir hier das nötige Fachwissen fehlt, solltest du ein Unternehmen wählen, was dich berät und das notwendige Fachwissen an den Tag legt, deine Webseite bestmöglich zu betreiben.
 
Back
Top