Einer der wichtigsten Aspekte der Leistung einer Website ist die Bandbreite, die ihrer Nutzung zugewiesen wird. Die Bandbreite bestimmt, wie schnell der Webserver angeforderte Informationen hochladen kann. Während bei der Leistung einer Website noch andere Faktoren zu berücksichtigen sind, ist die Bandbreite häufig der limitierende Faktor.
Bandbreitendefinition
Die Bandbreite wird als Anzahl von Bits pro Sekunde definiert. Ein Bit ist die kleinste Menge an Computerinformationen, eine Null oder Eins, und acht davon ergeben ein einzelnes Byte. Historisch werden Netzwerkverbindungen in Bit gemessen, während Endbenutzergeräte wie Computerspeicher und Festplatten in Byte gemessen werden. Ein Megabit ist etwas mehr als eine Million Bit (genauer gesagt 1.048.576 Bit), während ein Gigabit über eine Milliarde Bit (genau 1.073.741.824 Bit) umfasst. Daher kann eine 100-Megabit-pro-Sekunde-Verbindung über 104 Millionen Bits pro Sekunde senden, was sinnvoller als 13 MB pro Sekunde ausgedrückt wird.
Berechnung der Bandbreitenanforderungen
Die meisten Webserver senden auf Anfrage statische Seiten und Bilder an Webbrowser, was bedeutet, dass diese Dateien vor dem Hochladen über das Internet nicht geändert werden müssen. In diesen Fällen sind die Bandbreitenanforderungen ziemlich einfach. Addieren Sie die Gesamtzahl der Bytes, die von den Ressourcen verwendet werden, aus denen eine bestimmte Seite Ihrer Website besteht: Eine HTML-Seite besteht aus einer bestimmten Anzahl von Kilobytes an HTML, JavaScript und enthaltenen Dateien, während die von der Seite angeforderten Bilder wahrscheinlich eine größere Zahl sein werden von Kilobyte. Eine Homepage kann beispielsweise 25 KB HTML, Cascading Style Sheets und JavaScript umfassen, die dann 250 KB Bilder anfordern. Wenn Sie diese Seite zum ersten Mal aufrufen, benötigen Sie daher 275 KB Daten oder 2.200 Kilobit. Über eine 100-Megabit-Internetverbindung würden Sie für eine Sekunde etwas mehr als ein Viertel eines Megabits verwenden, was ungefähr 300 gleichzeitigen Benutzern entspricht, die ohne Verlangsamung auf die Site zugreifen können. Ein gewisses Maß an Bandbreite geht immer durch Overhead-Netzwerkanforderungen verloren, daher ist es eine gute Idee, diese Schätzungen abzurunden (in diesem Fall von 364 auf 300). Websites, die mehr als 300 gleichzeitige Benutzer erwarten, benötigen daher mehr Internetbandbreite oder verwenden kleinere Dateien auf ihren Homepages.
CPU-Engpass
Eine Website kann auch dadurch verlangsamt werden, dass dynamische Dateien bereitgestellt werden müssen. Dies ist immer dann der Fall, wenn eine Webseite basierend auf Programmiercode generiert wird; Seiten auf einer WordPress-Site sind beispielsweise kein statisches HTML, sondern werden auf Anfrage von der PHP-Programmierung in der WordPress-Vorlage generiert. Eine dynamische Site mit denselben Parametern wie das statische Seitenbeispiel könnte nur 300 gleichzeitige Benutzer verarbeiten, wenn die CPU-Anforderungen zum Generieren jeder Seite etwa unter einem Drittel von 1 Prozent der CPU liegen. Wenn andererseits 1 Prozent der CPU zum Generieren einer Seite verwendet wird, liegt die maximale Anzahl gleichzeitiger Benutzer eher bei 100 als bei 300, obwohl die verfügbare Bandbreite mehr Benutzer verarbeiten kann.
Caching und Content Delivery Networks
Bandbreitenengpässe können durch die Verwendung von Content Delivery Networks oder CDNs verbessert werden, die Kopien der Daten Ihres Webservers speichern, normalerweise an mehreren Stellen im Internet. Ein CDN kann sich beispielsweise in Tokio und London befinden und Informationen von Ihrem Webserver für Benutzer in Asien bzw. Europa duplizieren oder zwischenspeichern. Das CDN ist physisch näher am Benutzer, beschleunigt die Bereitstellung und reduziert die Anzahl der Zugriffe auf Ihrem primären Webserver. Ebenso kann das Caching auf dem lokalen Webserver oder CDNs die CPU-Anforderungen stark reduzieren, jedoch auf Kosten des Sendens leicht veralteter Seiten an Webbrowser.