Serveranforderungen - Beratung


ka3ax

New Member
Hallo ich stehe momentan von der Problem das ich absolut gar nicht einschätzen kann welche Anforderungen mein Server haben muss, damit die Seite in akzeptabler Zeit geladen wird.
Um mir aber einen passenden Server und Anbieter auszusuchen brauche ich wohl die Daten.

Ich möchte sowas ähnliches wie YouTube hosten, dazu habe ich mich auf folgende Daten festgelegt
  • Durchschnittliche Video Größe: 50Mb
  • Durchschnittlicher Platzt für je angemeldeter User: 1Mb
  • Anzahl der Besucher soll variabel sein. Das heißt es ist die Größe, von der die Anforderungen an den Server abhängen.

Jetzt versuche ich die ganze Zeit alles mögliche auszurechnen in Bezug auf die Anzahl der Benutzer am Tag.

Die größer der HDD
Ist simpel einfach die Anzahl der Videos mal den von mir angenommen wert von 50Mb.
Plus natürlich die Anzahl der registrierten Benutzer mal einen Mb.

die Geschwindigkeit der HDD
Hier stoße ich schon an meine Grenzen. Ich habe mir mal einen Faktor von 1,12 ausgerechnet, der angibt wie viel MB in der Sekunde ausgelesen werden müssen, wenn ein Benutzer sich ein Video anguckt.
Aber ehrlich gesagt, ich weiß absolut nicht ob ich auf dem richtigen Weg bin.

CPU
Absolut gar keine Vorstellung wie ich an das heran gehen soll. Im Grunde ist der Aufbau der Seite nicht kompliziert: PHP welches die Seite generiert und dabei auf eine Datenbank zugreift um Benutzer-Information zu bekommen und Pfade zu den Videos zu erhalten.

RAM
Hier weiß ich absolut nicht wie ich das von der Besucheranzahl abhängig machen soll.

Leitung
Wahrscheinlich der Flaschenhals. Ich habe versucht mit dem ausgerechnet Faktor von 1,12Mb-in-der-Sekunde-pro-Besucher zu arbeiten, wie vorhin. Dabei habe ich ausbekommen das bei einer Leitung von 100Mb/s sich knapp unter 90 Besucher gleichzeitig ein Video angucken können und das es gerade so mit dem Laden nachkommt, ohne das es ruckelt.
Aber hier bin ich mir auch absolut nicht sicher ob ich auf dem richtigen Weg bin.


Wie rechnet ihr das den aus? Oder gibt es jemanden der das schon mal erfolgreich ausgerechnet hat?

Ich bin dankbar für jede Hilfe
 
Last edited by a moderator:
Die größer der HDD
Ist simpel einfach die Anzahl der Videos mal den von mir angenommen wert von 50Mb.
Plus natürlich die Anzahl der registrierten Benutzer mal einen Mb.
Das gilt nur wenn das Video nur in einer Auflösung vorliegt und es keine Logs gibt (welche je nach Vorhaltung mal paar GB verursachen können)
Generell sollte bei einem aktuellen Angebot, bspw mit 1-2TB Hdd, die Festplattenkapazität in der Anfangsphase die kleinste Sorge sein.
Danach brauchst du vermutlich entweder Applikations- oder Systembasiertes Clustering.

Hier stoße ich schon an meine Grenzen. Ich habe mir mal einen Faktor von 1,12 ausgerechnet, der angibt wie viel MB in der Sekunde ausgelesen werden müssen, wenn ein Benutzer sich ein Video anguckt.
Aber ehrlich gesagt, ich weiß absolut nicht ob ich auf dem richtigen Weg bin.
Dei reine Lesegeschwindigkeit der Platte ist nicht aussagekräftig da es zwei zusätzliche Punkte gibt
- das Os cached oft abgerufene Blöcke im Ram
- die Iops einer Platte sind schnell am Ende, hier brauchst du entweder mehrere Platten im mirror-raid oder Dmcache/flashcache bei vielen Abrufen.

Absolut gar keine Vorstellung wie ich an das heran gehen soll. Im Grunde ist der Aufbau der Seite nicht kompliziert: PHP welches die Seite generiert und dabei auf eine Datenbank zugreift um Benutzer-Information zu bekommen und Pfade zu den Videos zu erhalten.
Abhängig davon ob die Videos auf dem Server umgewandelt werden sollen.
Falls deine Seite so einfach ist wie beschrieben so würde ein nginx + php-fpm oder sogar Hiphop-kompiliertes nicht viel ins Gewicht fallen. Mysql je nach Query-Optimierung.

Hier weiß ich absolut nicht wie ich das von der Besucheranzahl abhängig machen soll.
Mehr Ram = mehr Cache = weniger Plattenbelastung.

Wahrscheinlich der Flaschenhals. Ich habe versucht mit dem ausgerechnet Faktor von 1,12Mb-in-der-Sekunde-pro-Besucher zu arbeiten, wie vorhin. Dabei habe ich ausbekommen das bei einer Leitung von 100Mb/s sich knapp unter 90 Besucher gleichzeitig ein Video angucken können und das es gerade so mit dem Laden nachkommt, ohne das es ruckelt.
Aber hier bin ich mir auch absolut nicht sicher ob ich auf dem richtigen Weg bin.
Die Rechnung sieht mehr oder weniger richtig aus. Beache aber dass "dank" Buffering höhere Geschwindigkeiten und somit Bandbreiten notwendig sind.
Unter Gigabit-Anschluss würde ich es nicht versuchen.

Wie rechnet ihr das den aus? Oder gibt es jemanden der das schon mal erfolgreich ausgerechnet hat?

DasTraffic deine Hauptsorge sein wird sollte ein guter Server der Anbieter wie Hetzner oder Leaseweb generell für den Start reichen.
Leider fehlen Details über erwartete Besucherzahlen und genauer Erwartungen an den Server.
 
[...]

DasTraffic deine Hauptsorge sein wird sollte ein guter Server der Anbieter wie Hetzner oder Leaseweb generell für den Start reichen.
Leider fehlen Details über erwartete Besucherzahlen und genauer Erwartungen an den Server.

Danke für das Feedback.

Ich hab schon fast gedacht das man am meisten auf die Bandbreite achten soll.
Welche Details fehlen noch?

Die Erwartete Besucheranzahl kenne ich nicht. Ich würde es auch erst gerne die Server-Kosten berechnen die ich mit der Steigender Besucheranzahl erwartet muss. Was auf mich da also zum Beispiel bei 1.000, 2.000, 3.000 usw. Besucher im Monat, auf mich zu kommt.
So wie ich das sehe, muss man aber die Spitze des Besucher-Stroms kennen. Den die 1.000 Besucher verteilen sich ja auf 31 Tage und die wiederum verteilen sich auf 24 Stunden. Es wird aber bestimmt ein Uhrzeit geben, an der sich die meisten Besucher zu dem Server verbinden. Ich denke zwischen 18 und 21 Uhr, ich weiß es aber nicht. UND den Server genau so anzupassen das er diese Spitze locker schaft. Und genau hier scheitere ich.
 
Die Erwartete Besucheranzahl kenne ich nicht. Ich würde es auch erst gerne die Server-Kosten berechnen die ich mit der Steigender Besucheranzahl erwartet muss.

Vielleicht wäre jiffybox noch eine Alternative für den Start. Da kannst du ganz klein anfangen und die Eckdaten deiner Serverumgebung sind dort relativ frei skalierbar.
Wenn dein Projekt dann kein Flop wird und du erste Erfahrungen mit Benutzerzahlen, Auslastung etc. sammeln konntest, kannst du dich dann sicher wesentlich zielgerichteter nach dedizierter Hardware, die deinen Bedürnissen entspricht, umschauen.
 
So ein Projekt würde ich nicht monolithisch mit einem Server machen, sondern von Anfang an modularisieren. Ein einzelner Server skaliert einfach nicht sinnvoll, nicht einmal zum Beginn.

Ich würde es folgendermaßen ansetzen:

1x vServer für das Web-Frontend und ggf. Datenbank
1x vServer für das Rendern / Codieren der Videos (oder sogar nen günstigen Dedi a la OVH)

Die Daten direkt in die Cloud a la Amazon AWS (oder jiffybox, danke nexus) und per CDN ausliefern. Das skaliert vernünftig mit den steigenden Anforderungen.

Wenn das Projekt wächst, kann man die einzelnen Komponenten sinnvoll mit skalieren oder sogar in eigene Cluster übernehmen. Obendrein können die einzelnen Komponenten auf ihre jeweiligen Anwendungsfälle optimiert betrieben werden.
 
Last edited by a moderator:

Back
Top