Wieviele Abrufe schaft ein durchschnittler Webserver am Tag
Michaela
- hardware
- webserver
Hallo, ich habe eine Frage bei dem mir vielleicht der ein oder andere hier weiterhelfen kann. Für eine Schularbeit suche ich die Information wie viele Seiten ein Web-Server ca. ausgeben kann.
Hierbei geht es nicht um die Anbindung sondern nur um die Hardware.
Mir ist klar, dass es natürlich auch auf den Rechenaufwand ankommt, den eine abgerufene Seite braucht. So braucht eine reine HTML Seite wahrscheinlich weniger als eine Seite bei der PHP Script und MYSLI Datenbank Aufrufe getätigt werden.
Wenn ich von einem Durschnitt von einer Millionen Seiten Aufrufe täglich ausgehe, wären das im Durchschnitt 41666 Seitenaufrufe pro Stunden, also in der Minute 694, Pro Sekunde also dann 12 Seitenabrufe.
Natürlich ist das eine Milchmädchen Rechnung weil es ja Abfragespitzen gibt und Zeiten wo nicht so viel los ist.
Wie schon gesagt, es geht um die theoretische Möglichkeit.
Hardware: 32 GB ECC RAM Intel® Xeon® E3-1245 Quad-Core inkl. Hyper-Threading-Technologie
Danke
Michaela
Hallo Michaela,
bei statischen HTML Seiten wird der limitierende Faktor nicht die Server-Hardware sein, sondern das Datenvolumen und die Netzwerkanbindung. Bei dynamischen Seiten hängt es von der Festplatte ab, und davon, wie arg die Datenbankabfragen dem SQL Server das Caching vermiesen. Es hängt auch davon ab, welche Programmiersprache da läuft und wie sie eingerichtet ist (bei PHP gibt es da z.B. 3 Möglichkeiten, alle mit anderen Laufzeiteigenschaften). Ich glaube nicht, dass man auf Basis der CPU-Hardware die maximale Abruffrequenz berechnen kann, da helfen nur Erfahrungswerte von Webseiten, deren Timing man kennt.
Ein mir bekanntes Webserverchen auf PHP/MySQL Basis, das ständig eine Zeitmessung mitlaufen lässt, braucht brutto ca 25ms-50ms für eine Seite, d.h. 30-50 Abrufe pro Sekunde sind kein Thema. Man kann das aber auch nicht einfach dividieren; ein Teil der Zeit geht für die PHP Verarbeitung drauf, ein anderer Teil für den SQL Server, und ein Multicore-Server lässt sowas ja parallel laufen. Bei diesem Server weiß ich aber keine technischen Daten (außer dass es ein 64-bittiger x86-Prozessor ist). Ich weiß auch nicht, wieviel Last die anderen Webseiten dieses Servers konkurrierend produzieren.
Ob dieser Server bei echten 50 Abrufen pro Sekunde das Timing durchhält, kann ich auch nicht sagen. Die Seite, die ich da nutze, steht kaum unter Dampf. Es hängt bei vielen Abrufen auch immer stark vom Lastprofil ab - wenn die Abrufe kreuz und quer durch die Datenbank rasseln, ist die DB der limitierende Faktor, und ein Gigabyte RAM mehr oder weniger kann die Schwuppdizität von rasant nach unbedienbar verändern. Es kann aber genauso gut sein, dass die kritischen DB-Abfragen alle brav im Cache warten und bei höherer Abrufmenge überhaupt nicht ins Gewicht fallen.
Ob die Admins vom Self-Forum intern einen Performance-Monitor mitlaufen lassen und Abrufstatistiken für das Forum oder das Wiki haben, weiß ich nicht.
Zusammengefasst kann man deine Frage mit einem klaren KOMMT DRAUF AN beantworten.
Als andere Quelle kann ich dir nach kurzer Websuche das hier anbieten:
https://serverfault.com/questions/551697/apache-stability-on-a-very-high-traffic-server
da schreibt jemand von problemlosen 1000-2000 Zugriffen pro Sekunde und Problemen bei 3000-4000, und jemand empfiehlt daraufhin, in diesen Zonen über einen zweiten Server nachzudenken.
Man kann es aber nicht verallgemeinern, es gibt massenhaft Einflussfaktoren auf den maximalen Durchsatz und ein theoretisches Maximum ist genauso aussagekräftig wie die Prüfstandwerte von Dieselautos.
Rolf
Pro Sekunde also dann 12 Seitenabrufe.
Das ist fast gar nichts, das schafft unter Umständen sogar ein Raspi. Ein Rapsi (Raspberry Pi) ist Scheckkartenrechner für ein paar Euro. Läuft auch als Apache-Webserver.
Voraussetzungen:
Der Server ist weniger als 1/12 Sek. pro Abruf beschäftigt. (Sonst sind irgendwann mal "Worker" bzw. "Threads" des Apache-Webservers mit Verbindungen belegt)
Und es werden (wegen der beschränkt schnellen Internetanbindung bei mir Hause) bei absolut gleichmäßiger Belastung pro Abruf weniger als 36.000.000/12 Bit, also 4.000.000/12 Bytes also 333.333 Bytes ausgeliefert. Ins Internet. Ins Heimnetz (100.000.000 Bit/Sek.) schafft er mehr. Stellt sich die Frage nach der Komprimierung. Ausgepackt (dekomprimiert) können es mehr sein.
Für eine Schularbeit suche ich die Information wie viele Seiten ein Web-Server ca. ausgeben kann.
Das ist also abhängig von der Datenmenge pro Abruf, von der für die Abarbeitung (auch das Lesen von Daten von der Platte/Speicherkarte/aus dem Cache/...) benötigten Zeit und auch von der softwareseitig konfigurierbaren Anzahl der Worker bzw. Threads.
Hardware: 32 GB ECC RAM Intel® Xeon® E3-1245 Quad-Core inkl. Hyper-Threading-Technologie
Davon hängt nur ab, wie viel Prozessorleistung für die Abrufe eventuell zur Verfügung stehen kann. Um daraus was zu errechnen müsste man schon mal wissen ob der Server die Daten komprimieren oder verschlüsseln (https) muss.
Für eine Schularbeit
Ich fürchte, du überforderst den Lehrer oder die Lehrerin. Die richtige Antwort ist "viele". Wie viele genau hängt von einer Menge unbekannter Parameter ab.