Es gibt Einsätze bei denen man wegen hoher Besucherlast einen Root - Server einsetzen sollte.
Aber nur etwas dämlich angehauchte Webmaster schauen da auf die Prozessorleistung und meinen mit 24 GB RAM eine tolle Maschine zu haben.
Sicher - das ist keine Kinderkarre, die wichtigsten Fragen zu einem Root-Server wären die der Datensicherheit (RAID10), des nutzbaren RAM Bereiches und vor allem der Anbindung.
Mit garantierter 500 Mbit Bandbreite stehe ich erheblich besser da als mit 100 MBit - 100 MBit ist praktisch 08/15 Standard.
Was aber benötige ich an RAM ?
Da macht man folgende Rechnung auf:
(Der durchschnittliche RAM Bedarf der Anwendung x (durchschnittliche Anzahl gleichzeitiger Besucher + Sicherheitsaufschlag für Spitzen)) x geplante Steigerung der Besucherzahlen der nächsten zwei Jahre.
Beispiel
RAM Bedarf 16MB
Besucher 300
Sicherheitsaufschlag 100%
Steigerung 200%
(16 x (300 x2)) x2 = 19200 MB = 19,2 GB
Hat man einen durchschnittlichen RAM Bedarf von 32 MB dann haben wir das doppelte an Bedarf.
Aber Vorsicht - es gibt Anwendungen die via Ajax zahlreiche PHP Scripte gleichzeitig aufrufen, die jedes für sich einen RAM Bedarf haben - z.B. seitenreport.info.
Da kann der RAM Bedarf pro Script dazu führen das der Bedarf enorm nach oben schiesst.
Nehmen wir mal das erste Beispiel und gehen davon aus, das 30 Ajaxaufrufe getätigt werden, von denen 8 parallel verarbeitet werden die ebenfalls jeweils 8 MB verheizen.
Das wäre dann auf das 5 fache vom nominellen Wert und wir kämen dann auf 96 GB Bedarf, hätten aber damit auch Spitzen wie auch eine geplante Steigerung der Besucher abgedeckt, ohne das wir uns bereits nach ein paar Monaten um einen neuen Server bemühen müssten.
CPU's mit X Kernen sind relativ uninteressant weil eine Webserversoftware diese nicht aufgreift bzw. verwendet.
Interessant ist die Anbindung - die Differenz 500 zu 100 MBit bringt richtig etwas - ein Scriptaufruf ist immerhin erst dann beendet, wenn die Seite abgefeuert wurde und zwar mit allen Request's.
Natürlich ist diese Rechnung nur Beispiel zeigt aber worauf es ankommt.
Eine ganz andere Problematik, die aber in die Entscheidung stark eingreift ist die Frage ob die Anwendung selbst das überhaupt leisten kann.
Am besten macht man dazu auf einem lokalen Rechner einen Flood - Test und stellt damit fest, was die Software hergibt.
Nicht wenige werden davon überrascht sein, wenn sie sehen, das ihre Software eine solche Last überhaupt nicht verarbeiten kann.
Eine gute Erkennungsmöglichkeit ist die Generierungszeit. Diese Zeitmessung ist die Zeit die ein System benötigt um die Seite zu generieren und wird so gemessen, das man im Script (z.B. index.php) die Endzeit - Startzeit rechnet, wobei die Startzeit ganz oben und die Endzeit ganz unten im Script abgenommen wird.
Ist diese Zeit hoch , dann ist die Fähigkeit besonders viele Besucher bedienen zu können gering.
Sehr gute Systeme liegen bereits auf einem Entwicklungsrechner in den Bereichen 0,04 und weniger Sekunden, schlechte Systeme bei 0,2 und mehr Sekunden.
Ergänzung:
Bei den nachfolgenden Links kann man deutlich erkennen das schlechte Programmierung nicht durch einen High-Speed-Server ausgeglichen werden kann.
Der erste Fall zeigt die Leistung eines Angebotes das gerade auf einen Server mit 24 GB RAM umgestellt wurde:
http://www.webpagetest.org/result/120507_E5_48A7J/1/details/
der zweite Fall zeigt eine echte High-Speed-Programmierung auf einem shared Webserver der lediglich 1€ im Monat kostet:
http://www.webpagetest.org/result/120507_5Y_48A8R/
Natürlich wird damit auch klar, das Fall2 auf einem dicken eigenen Server noch mehr an Speed gewinnen würde.
Noch ein anderer Vergleich - Fernnutzung aus den USA:
Fall 1 wie gehabt:
http://www.webpagetest.org/result/120507_D1_48AB5/
Fall2 - eine andere High - Speed Seite mit reichlich Komponenten die Traffic verursachen:
http://www.webpagetest.org/result/120507_8V_48AAA/
Damit wird erschreckend deutlich, das mangelhafte Kenntnisse in der Programmierung und über das Verhalten des Netzes alles zerstört, was man sich mit einem schnellen Server einkaufen kann.
Und es wird klar, das eine echte High-Speed-Programmierung auf shared Webspace bei Strato - der nicht gerade berühmt ist als schneller Hoster - einer High-Ende-Serverlösung haushoch überlegen ist.
Es ist tatsächlich so das nicht wenige Websites mangelhafte Programmierkünste versuchen durch bessere Hardware auszugleichen - der Erfolg ist nur sehr mäßig.
Keine Kommentare:
Kommentar veröffentlichen