Μία από τις πιο κρίσιμες πτυχές της απόδοσης ενός ιστότοπου είναι το ποσό του εύρους ζώνης που διατίθεται για τη χρήση του. Το εύρος ζώνης καθορίζει πόσο γρήγορα ο διακομιστής Web μπορεί να μεταφορτώσει τις ζητούμενες πληροφορίες. Ενώ υπάρχουν και άλλοι παράγοντες που πρέπει να λάβετε υπόψη σχετικά με την απόδοση μιας ιστοσελίδας, το εύρος ζώνης είναι συχνά ο περιοριστικός παράγοντας.
Ορισμός εύρους ζώνης
Το εύρος ζώνης ορίζεται σε όρους αριθμού bit ανά δευτερόλεπτο. Το bit είναι το μικρότερο ποσό πληροφοριών υπολογιστή, μηδέν ή ένα, και οκτώ από αυτά δημιουργούν ένα byte. Ιστορικά, οι συνδέσεις δικτύου μετρώνται σε bit, ενώ οι συσκευές τελικού χρήστη όπως η μνήμη του υπολογιστή και οι σκληροί δίσκοι μετρώνται σε byte. Το megabit είναι λίγο πάνω από ένα εκατομμύριο bit (ακριβέστερα, 1.048.576 bit), ενώ ένα gigabit είναι πάνω από ένα δισεκατομμύριο bit (ακριβώς 1.073.741.824 bit). Επομένως, μια σύνδεση 100 megabit ανά δευτερόλεπτο μπορεί να στείλει πάνω από 104 εκατομμύρια bit ανά δευτερόλεπτο, η οποία είναι πιο χρήσιμη ως 13MB ανά δευτερόλεπτο.
Υπολογισμός απαιτήσεων εύρους ζώνης
Οι περισσότεροι διακομιστές Ιστού στέλνουν στατικές σελίδες και εικόνες κατόπιν αιτήματος σε προγράμματα περιήγησης Ιστού, πράγμα που σημαίνει ότι δεν απαιτείται καμία τροποποίηση σε αυτά τα αρχεία προτού μεταφορτωθούν μέσω του Διαδικτύου. Σε αυτές τις περιπτώσεις, οι απαιτήσεις εύρους ζώνης είναι αρκετά απλές. Προσθέστε τον συνολικό αριθμό byte που χρησιμοποιούνται από τους πόρους που αποτελούν μια συγκεκριμένη σελίδα στον ιστότοπό σας: μια σελίδα HTML είναι ένας συγκεκριμένος αριθμός kilobyte HTML, JavaScript και αρχεία που περιλαμβάνονται, ενώ οι εικόνες που ζητάει η σελίδα θα είναι πιθανώς μεγαλύτερος αριθμός kilobytes. Για παράδειγμα, μια αρχική σελίδα μπορεί να είναι 25KB HTML, Cascading Style Sheets και JavaScript, τα οποία στη συνέχεια υποβάλλουν αιτήματα για 250KB εικόνων. Επομένως, ζητώντας αυτήν τη σελίδα για πρώτη φορά θα χρειαστείτε 275KB δεδομένων ή 2.200 kilobits. Πάνω από μια σύνδεση 100 megabit στο Διαδίκτυο, θα χρησιμοποιούσατε λίγο περισσότερο από το ένα τέταρτο ενός megabit για ένα δευτερόλεπτο, το οποίο λειτουργεί περίπου 300 ταυτόχρονοι χρήστες που έχουν πρόσβαση στον ιστότοπο χωρίς επιβράδυνση. Κάποιο ποσό εύρους ζώνης χάνεται πάντα από τις γενικές απαιτήσεις δικτύωσης, οπότε η στρογγυλοποίηση αυτών των εκτιμήσεων (στην περίπτωση αυτή, από 364 σε 300) είναι καλή ιδέα. Οι ιστότοποι που αναμένουν περισσότερους από 300 ταυτόχρονους χρήστες, επομένως, θα χρειάζονται περισσότερο εύρος ζώνης Διαδικτύου ή θα χρησιμοποιούν μικρότερα αρχεία στις αρχικές τους σελίδες.
CPU Bottlenecking
Ένας ιστότοπος μπορεί επίσης να επιβραδυνθεί λόγω της ανάγκης υπηρεσίας δυναμικών αρχείων. Αυτό συμβαίνει κάθε φορά που δημιουργείται μια ιστοσελίδα βάσει κώδικα προγραμματισμού. Για παράδειγμα, οι σελίδες σε έναν ιστότοπο WordPress δεν είναι στατικές HTML αλλά δημιουργούνται κατόπιν αιτήματος από προγραμματισμό PHP στο πρότυπο WordPress. Ένας δυναμικός ιστότοπος με τις ίδιες παραμέτρους με το παράδειγμα της στατικής σελίδας θα μπορούσε να χειριστεί μόνο 300 ταυτόχρονους χρήστες εάν οι απαιτήσεις της CPU για δημιουργία κάθε σελίδας είναι περίπου κάτω από το ένα τρίτο του 1 τοις εκατό της CPU. Από την άλλη πλευρά, εάν το 1 τοις εκατό της CPU χρησιμοποιείται για τη δημιουργία μιας σελίδας, τότε ο μέγιστος αριθμός ταυτόχρονων χρηστών θα είναι πλησιέστερος σε 100 από 300, παρόλο που το διαθέσιμο εύρος ζώνης μπορεί να χειριστεί περισσότερους χρήστες.
Δίκτυα προσωρινής αποθήκευσης και παράδοσης περιεχομένου
Ο περιορισμός εύρους ζώνης μπορεί να βελτιωθεί χρησιμοποιώντας δίκτυα παράδοσης περιεχομένου ή CDN, τα οποία αποθηκεύουν αντίγραφα των δεδομένων του διακομιστή Web, συνήθως σε πολλά σημεία στο Διαδίκτυο. Για παράδειγμα, ένα CDN μπορεί να βρίσκεται στο Τόκιο και το Λονδίνο, αντιγράφοντας - ή προσωρινά αποθηκεύοντας - πληροφορίες από τον διακομιστή Web για χρήστες στην Ασία και την Ευρώπη αντίστοιχα. Το CDN είναι πιο κοντά στον χρήστη, επιταχύνοντας την παράδοση και μειώνοντας τον αριθμό των επισκέψεων στον κύριο διακομιστή Web. Ομοίως, η προσωρινή αποθήκευση στον τοπικό διακομιστή Web ή CDN μπορεί επίσης να μειώσει σημαντικά τις απαιτήσεις της CPU, αλλά με κόστος την αποστολή ελαφρώς ξεπερασμένων σελίδων σε προγράμματα περιήγησης στο Web.