ich bin grad auf der Suche, wie die Leistungsfähigkeit eines Webservers bestimmt werden kann im Bezug auf den anfallenden Traffic. Soll heißen:
gibt es eine Kennzahl, die mir sagt, wieviel (z.B.) MB/s ein Server ins Web schaufeln kann?
Sorry...
folgendes Szenario:
der Webserver soll für webhosting verwendet werden, d.h. da liegen Domains drauf, die von usern angefragt werden.
Jede Anfrage verursacht ja - je nach Größe der angefragten Seite - einen gewissen Datendurchsatz, z.B. 100kb pro Seite.
Wenn jetzt z.B. 500000 User gleichzeitig diese Seite anfragen, wäre das ja ein Datendurchsatz von 50 000 000 kb, die der Server ins Web übertragen muss.
Wie wird also ein Server auf diese Anforderungen ausgelegt? Man muss doch sagen können: "der Server kann maximal z.B. 6Gbit/s ins Netz laden" oder sowas...
Gibt es da eine Kennzahl, die das ausdrückt?
ich bin grad auf der Suche, wie die Leistungsfähigkeit eines Webservers bestimmt werden kann im Bezug auf den anfallenden Traffic. Soll heißen: gibt es eine Kennzahl, die mir sagt, wieviel (z.B.) MB/s ein Server ins Web schaufeln kann?
Es gibt viele Kennzahlen für WebServer, die jeweils etwas anderes messen. Im groben kannst Du unterteilen in
Durchsatz: In MB/s für Downloads oder auch Transaktionen pro Sekunde
Latency: Reaktionszeit des Server
Skalierbarkeit: Wieviele gleichzeitige User oder Transaktionen pro Sekunde bei fixer Latency
Außerdem kommt's drauf an, was Dein WebServer überhaupt tut.
Wenn's ein Download Server ist, dann misst man halt mit wget oder FTP tools. Notfalls mit mehreren Rechnern gleichzeitig, um die gewünschte Userzahl zu erzeugen.
Wenn jetzt z.B. 500000 User gleichzeitig diese Seite anfragen, wäre das ja ein Datendurchsatz von 50 000 000 kb, die der Server ins Web übertragen muss.
Schafft kein Webserver der Welt. Hier werden Webserver-Cluster mit Load-Balancern eingesetzt, so dass sich die 500000 User auf mehrere Rechner verteilen, die für sich genommen alle das gleiche leisten. Kommen mehr User, wird der Cluster aufgestockt. Der LoadBalancer (z.B. Modulo IP Adresse) wird so ausgelegt, dass Anfragen eines Users auf dem gleichem Rechner landen. So wird vermieden, dass hintenrum zwischen den verschiedenen Rechnern eines Clusters ständig Sessiondaten ausgetauscht werden müssen bzw. auf ein Shared Medium (selbst DB) zugregriffen werden muss.
"der Server kann maximal z.B. 6Gbit/s ins Netz laden" oder sowas...
Gibt es da eine Kennzahl, die das ausdrückt?
Die GBit/s sind relativ uninteressant. Wenn Du 6GBit/s Durchsatz hast und willst jedem User min. 6MBit/s garantieren, dann kannst max. 1000 user gleichzeitig. Allerdings wirst diese 1000 user schon nicht hinbekommen. Es gibt eine Vielzahl von Parametern bei Webservern (Größe Empfangspuffer, Anzahl der gleichzeitigen TCP Verbindungen, etc.) die die Anzahl der gleichzeitigen User weit vor 1000 limitieren werden (ganz abgesehen von Festplatten Flaschenhälsen bei schon 100 Zugriffen auf unterschiedliche Domains gleichzeitig).
der Webserver soll für webhosting verwendet werden, d.h. da liegen Domains drauf, die von usern angefragt werden.
Wenn Du wirklich soooo viel Durchsatz und User erzeugen willst, brauchst noch ganz andere Dinge:
DoS: Einen Server, der Dir Denial-of-Service Attacken abfängt. SYN-Floods etc.
Trafficüberwachung: Du willst ganz sicher nicht, dass eine Seite gehakt wird oder direkt zum Austausch von kopiergeschützem Material verwendet wird. In dem Fall steigen Deine Downloads innerhalb von Minuten bis zum technischen Anschlag. Es muss mindestens ein Volumenkontingent / User geben, damit Deine Kosten als Anbieter im Rahmen bleiben: Für jedes GB Traffic, dass Du anmietest zahlst Du.
Wie ist denn also festgelegt, wieviel ein Server an Daten schaufeln kann? Wann riegelt der Server ab? Gibts da Kennwerte dafür?
Angenommen, ich will einen Server kaufen, dann muss ich doch darüber eine Aussage bekommen. Oder sind die Server einfach dermaßen überdimensioniert, damit man sich mit dieser Thematik nicht beschäftigen muss?
Beim Autokauf hab ich doch auch eine Angabe, wie weit ich mit einer Tankfüllung fahren kann, da sagt doch auch keiner: wissen wir nicht, probieren Sie's aus
Beim Autokauf hab ich doch auch eine Angabe, wie weit ich mit einer Tankfüllung fahren kann, da sagt doch auch keiner: wissen wir nicht, probieren Sie's aus
Der Vergleich ist gar nicht schlecht:
Wenn man beim Autokauf nach der Höchstgeschwindigkeit fragt, kriegt man genau den einen Wert der in den Zulassungspapieren eingetragen ist genannt. Bei der M-Klasse von BMW gibt's dann noch die Möglichkeit die 250km/h Sperre vom Werk aus entfernen zu lassen, das geht aber nur in Verbindung mit einem obligatorischen Fahrertraining (Das wär' mal was, wenn die ganzen Overclocker hier erstmal einen kleinen Kurs besuchen müssten ....).
Fragst Du nach dem Spritverbrauch, sieht die Geschichte schon anders aus:
Nach Richtlinie 93/116/EWG bekommst vielleicht NEFZ genannt. Vielleicht aber auch ECE 15 oder EUDC:
Bei einem Importwagen bekommst vielleicht sogar die nach FTP75 (USA) oder 10-15 Mode (Japan) Werte genannt.
Bei einem Server ist das in etwa 100x umfangreicher. Es kommt halt drauf an! Nicht nur auf Stadtzyklus oder Überland: Ein Download-Server ist was anders als ein HTML-Server, ein PHP Server, eine eCommerce Anwendung, ein Realtime Brokerage System, ein Flug-Buchungssystem a la Amadeus. etc. pp.
Wie ist denn also festgelegt, wieviel ein Server an Daten schaufeln kann? Wann riegelt der Server ab? Gibts da Kennwerte dafür?
Wenn es nur um einen Kennwert wie MB/s geht, dann nimm' den billigsten PC mit Gigabit Netzwerkkarte. Fertig. Allerdings ist es da sehr fraglich, ob er Deine Domains performant hosten kann. Da kommt's eben auf noch mehr an.
Angenommen, ich will einen Server kaufen, dann muss ich doch darüber eine Aussage bekommen. Oder sind die Server einfach dermaßen überdimensioniert, damit man sich mit dieser Thematik nicht beschäftigen muss?
Der zweite Teil der Aussage stimmt sogar begingt: Es ist tatsächlich so, dass man Server mit Reserven kauft. Um halt Lastschwankungen besser verkraften zu können und auch um etwas Luft für zusätzliche User zu haben.
Die Hardware bei einem Server ist eh nicht so das entscheidende. Und mit je mehr Usern ein Server skalieren muss, desto entscheidender wird auch die Software. Allerdings bekommt man eine bestimmte Software, dann wiederum nicht ohne Hardware, so dass insgesamt die Hardware sehr teuer erscheint.
Egal.
Wenn Du versuchst einen Server von den Hardwareeigenschaften aufzuziehen, verrennst Du Dich. Das ist nicht das richtige Abstraktionsniveau, um das Problem anzugehen. Geh' von dem aus, was Du machen willst. Möglichst konkret:
. Welche Webseiten? Statisches HTML wie z.B. http://de.selfhtml.org/? Oder etwas Datenbankgestütztes wie ein Wikihttp://de.wikipedia.org/wiki/Hauptseite? Ein Content Mangement System für die Homepages (das hat den Vorteil, dass man sehr leicht Vorlagen erstellen kann)?
. Wieviele User insgesamt? Wieviele User gleichzeitig?
. Max. Umfang pro Webauftritt? Durchschnittlicher Umfang pro Webauftritt?
. Wie soll das System in 1 und 2 Jahren aussehen?
Das alles erzählst Du jemandem, der Ahnung hat (oder auch 2-5 Leuten). Die sagen Dir wie sie es lösen würden und was es kostet.
Wenn das alles für Dich unverständlich ist, dann installierst einfach IIS (internet information service) für Windows oder nimmst einen PC und ziehst eine Linux Distribution drauf und aktivierst Apache.
bg, 7oby
Nachricht bearbeitet von 7oby am 24.04.2008 um 15:27:33
Mann, das waren ja etz einige Infos...
Ok, ich muss die Sache jetzt mal noch überdenken und das alles verarbeiten .
Vielen Dank nochmal an die fleißigen Helferlein...
Dieses Thema ist länger als 6 Monate inaktiv. Bitte überprüfen Sie, ob Ihr beabsichtigter Kommentar noch einen Mehrwert bringt oder das Anlegen eines neuen Themas nicht besser wäre.