Erfahrung mit Serverkonfiguration für 10-15.000 Besucher / Tag

Hallo,

ich würde gerne Eurer Erfahrungen bzgl. der Serverkonfiguration (CPU, Speicher, Load-Blancing, Caching, Extra-DB-Server,etc.) über ein Shop sammeln, der ca. 10.000 bis 15.000 Besucher hat.
Hintergrund ist, daß wir vlt. einen Shop übernehmen, der sich in diesen Dimensionen bewegt.

Der Shop hat folgende Eckdaten:

-10 bis 15.000 Besucher mit ca. 90.000 bis 130.000 Seitenaufrufen pro Tag
-Spitzenlast: 300 Besucher und 200 Seitenaufrufe gleichzeitig
-ca. 30.000 Artikel (ohne Varianten), 40.000 mit Varianten
-viele Attribute pro Artikel
-viele Attributfilter mit Vorausberechnung der Artikelanzahl => hat aufwendige DB Abfragen zur Folge

[B]Konkret stellen sich uns Fragen wie:[/B]

Ist ein separater DB-Server notwendig?

Ist Load-Balancing notwendig?

Brauch ich Cache Technologien wie Varnish oder Memached?

Reicht es vlt. alles auf einem Server mit einem separatem Ausfallserver laufen zu lassen, um die Komplexität und damit auch die Fehlerquellen gering zu halten?

Gruß Jason

Files und DB auf zwei dedizierte Server zu trennen wäre ein Ansatz, Caching wird definitiv ein Thema.
Wende Dich z.B. mal an SysEleven (oder einen Hoster Deines Vertrauens) für weitere Details, fürs Forum wird das schon fast ein wenig zu speziell.

Hallo Jason,
wir betreuen solche Shops in der Größe.
Bevor ich die Hardware hoch schraube (daran wirst du vermutlich nicht drum rum kommen) würde ich erstmal testen, wo deine Zeiten entstehen. Das kann man pauschal nicht beantworten. Dort solltest du dann aber gezielt ausgleichen.

Was du bei diesen Besucher- und damit verbinden sicher auch Verkaufszahlen aber sicher stellen solltest, ist eine möglichst hohe Sicherheit. Daher in jedem Falle alle wichtigen Daten verteilen auf mehrere Server, so dass zu im Falle eines Hardwareschadens nicht plötzlich von vorne anfangen musst dein System aufzusetzen.

Kommst du zur OXID Commons?

Gruß Joscha

Hallo Jason,

wir hosten einige Shops dieser Größenordnung. Du hast schon die richtigen Ideen.

> Ist ein separater DB-Server notwendig?
Spätestens wenn Ihr auf mehrere Application Server verteilen wollt ist das unerlässlich.

> Ist Load-Balancing notwendig?
Das ist aus zwei Gründen sinnvoll und in Deinem Fall denke ich notwendig. Wenn Du die Last über mehrere Application Server verteilst gewinnst Du Ausfallsicherheit und Skalierbarkeit.

> Brauch ich Cache Technologien wie Varnish oder Memached?
Varnish kann Webseiten direkt aus dem Cache ausliefern ohne die Application Server zu belasten. Das ist gerade bei zu erwartenden Lastspitzen effektiver an der Rechenleistung zu schrauben.

> Reicht es vlt. alles auf einem Server mit einem separatem Ausfallserver laufen zu lassen, um die Komplexität und damit auch die Fehlerquellen gering zu halten?
Ich würde die Trennung der Dienste auf Loadbalancer, Application Server und Datenbankserver empfehlen. Die Komponenten kannst Du nach Bedarf einzeln skalieren und ausfallsicher machen.

Vielleicht sehen wir uns ja auf der Oxid Commons. Würde mich freuen.

Viele Grüße
Martin


www.syseleven.de

Danke ersteinmal für eure Antworten!

@martin.hoever

Soweit ich verstanden habe, würdest du in unserem Fall insgesamt 4 Server nutzen, 1 LoadBalancer, 2 Application-Server, 1 DB-Server.

Die beiden Application-Server haben dann Varnish installiert.

Wie würde man dann den DB-Server gegen Ausfall sichern? Noch ein zweiter DB-Server? Dann würde das DB-Managment wohl komplizierter.

Was mich auch noch interessieren würde ist, wie man so ein System erweitert, falls die Limits erreicht werden. Weiterer DB und App-Server?

Danke im Voraus!

Hallo Jason,

Oxid 5 EE kann mit der Hostlastoption nativ mit mehreren DB-Servern umgehen. Ihr hättet einen DB-Master und einen oder mehrere DB-Slaves. Schreibvorgänge bekommt der Master und repliziert sie auf die Slaves. Leseanfragen werden auf Master und Slaves verteilt. Fällt ein DB-Server aus, gibt es immer noch einen mit dem aktuellen Datenbestand.

Skalieren könnt ihr durch Zugabe von Ressourcen (CPU, RAM, HDD) und durch
Hinzufügen weiterer App-Server und DB-Slaves.

Es gibt noch einige Details, die dann von Deinen speziellen Anforderungen abhängen. Wir können auch gern mal direkt sprechen wenn Du möchtest.

Viele Grüße
Martin


www.syseleven.de