cache στην αναμνηστική απόδοση του BBC

Feb 5, 2026
πως να
A cached image of the BBC homepage featuring a selection of news headlines

Πέρυσι κατά τη διάρκεια μιας συνεδρίας δοκιμών χρήστη για την εφαρμογή News BBC, ένας από τους χρήστες έκανε ένα σχόλιο που έχει πραγματικά κολλήσει μαζί μου. Δήλωσαν: "Μου αρέσει να ρέει". Δεν νομίζω ότι υπάρχει μια καλύτερη περίληψη των επιδόσεων που σημαίνει στους χρήστες μας. Σε μια γρήγορη εφαρμογή ή ιστότοπο, ο χρήστης μπορεί να ρέει, να αλληλεπιδράσει και να εμπλακεί με το περιεχόμενο.

Οι ρέουσες εμπειρίες είναι καλές για τους ιδιοκτήτες ιστοτόπων επίσης. Μια γρήγορη εμπειρία βοηθά τους χρήστες να επιτύχουν τους στόχους τους και με τη σειρά τους να επιτύχουμε τους στόχους των οργανώσεών μας. Ο Amazon και άλλοι έχουν επιδείξει τον ισχυρό σύνδεσμο μεταξύ της δραστηριότητας απόδοσης και χρηστών: καθώς η αναμονή για τις σελίδες πέφτει, το χρονικό διάστημα και τα χρήματα που ο χρήστης ξοδεύει ανεβαίνει.

Διαβάστε περισσότερα: Αναθεώρηση Nordvpn

Κόψτε την απόσταση με μια προσωρινή μνήμη

Οι προσωρινές μνήμες δημιουργούνται όταν μια μικρή ποσότητα κάτι αποθηκεύεται πιο κοντά στο σημείο όπου χρειάζεται, κανονικά για να αποφευχθεί η επαναφορά. Για παράδειγμα, αν τρώω skittles, τείνω να ρίχνω λίγα στο χέρι μου και στη συνέχεια να φάω από εκεί. Στην πραγματικότητα, δημιουργώ μια κρυφή μνήμη skittles στο χέρι μου, καθώς είναι πιο γρήγορη να τα φάτε έτσι ώστε να επιστρέψει στο πακέτο.

Το ίδιο μοτίβο χρησιμοποιείται στην τεχνολογία. Υπάρχουν τρεις caches που πρέπει να λάβουμε υπόψη:

  • Caches Server: Αποθηκευμένα δεδομένα για το διακομιστή, όπως τα αποτελέσματα των ερωτημάτων βάσεων δεδομένων
  • Caches Network: Caches ενσωματωμένα στο δίκτυο, μερικές φορές από τον χειριστή του ιστότοπου (γνωστή ως αντίστροφη προσωρινή μνήμη μεσολάβησης), αλλά πιο συχνά από ISP ή άλλους παρόχους δικτύωσης
  • Cache Browser: Το πρόγραμμα περιήγησης αποθηκεύει τα αρχεία στον σκληρό δίσκο του χρήστη για επαναχρησιμοποίηση από τον χρήστη

Η προσωρινή αποθήκευση μπορεί να κάνει μια τεράστια βελτίωση των επιδόσεων. Στο BBC έχω δει την προσωρινή προσωρινή αύξηση της απόδοσης περισσότερο από 20 φορές στον κώδικα παραγωγής. Είναι επωφελές και για τους επιχειρηματίες. Με την προσωρινή αποθήκευση, περισσότεροι χρήστες μπορούν να υποστηριχθούν από το ίδιο υλικό. Αυτό μειώνει το κόστος στο υλικό ανά χρήστη και συνεπώς μειώνει το λειτουργικό κόστος του ιστότοπου.

Σχεδιάστε με την προσωρινή μνήμη

Για να είναι αποτελεσματική, θέλουμε να χρησιμοποιήσουμε τα προσωρινά δεδομένα όσο το δυνατόν περισσότερο. Για να επεκταθεί η αναλογία των skittles, αν θέλω ένα μπλε skittle, αλλά δεν έχω καμία μπλε skittles στο χέρι μου (γνωστός aka cache μου), θα πρέπει να επιστρέψω στο πακέτο. Αυτό είναι γνωστό ως το ποσοστό "HIT". Είναι ένα «χτύπημα» όταν το στοιχείο βρίσκεται στην κρυφή μνήμη και ένα 'miss' όταν δεν είναι. Θέλουμε ένα υψηλό ποσοστό επιτυχίας έτσι ώστε η προσωρινή μνήμη να πάρει το μεγαλύτερο μέρος του φορτίου.

Μία από τις απλούστερες μεθόδους για την αύξηση του ρυθμού χτύπησης είναι η μείωση της διακύμανσης. Τεντώστε τα σκουλαρίκια μου αναλογία λίγο, φανταστείτε αν όλα τα skittles ήταν κόκκινα. Με αυτόν τον τρόπο, κάθε σκάνδαλο στο χέρι μου θα ήταν ένα χτύπημα κρυφής μνήμης. Ποτέ δεν θα χρειαστεί να επιστρέψω στο πακέτο. Εφαρμόζοντας αυτό στο διαδίκτυο, αν μπορούμε να δώσουμε την ίδια σελίδα σε όσο το δυνατόν περισσότερους χρήστες, η προσωρινή μνήμη γίνεται πιο αποτελεσματική καθώς περισσότερα αιτήματα θα χτυπήσουν την κρυφή μνήμη.

Cache html για μικρό χρονικό διάστημα

A 30-second cache of the BBC News homepage displaying regularly updated content

Η αρχική σελίδα των ειδήσεων χρησιμοποιεί μια κεφαλίδα μνήμης Cache 30 δευτερολέπτων για να πάρει το περιεχόμενο μπροστά στους χρήστες γρήγορα χωρίς υπερβολικό φορτίο

Έτσι είναι η θεωρία. Ας πάρουμε πρακτικό. Ας ξεκινήσουμε εξετάζοντας την προσωρινή αποθήκευση του αιτήματος για το HTML. Η προσωρινή αποθήκευση όλων των τύπων αρχείων ελέγχεται χρησιμοποιώντας κεφαλίδες HTTP. Οι κεφαλίδες είναι μετα-δεδομένα (δεδομένα σχετικά με τα δεδομένα) που αποστέλλονται από το διακομιστή στο πρόγραμμα περιήγησης και ορατά σε όλο το υλικό δικτύου στο μεταξύ. Για να πείτε στον κόσμο, έχει άδεια να κρυφτεί τις σελίδες μας και να μοιραστείτε την προσωρινή μνήμη μεταξύ χρηστών, ορίζουμε την ακόλουθη κεφαλίδα:

Cache-Control: public, max-age=30

Εδώ, έχουμε ορίσει επίσης ένα χρονικό όριο: Ο μέγιστος χρόνος που η μνήμη cache θα πρέπει να επαναχρησιμοποιήσει αυτή τη σελίδα για, σε δευτερόλεπτα. Για αυτό το παράδειγμα, το έχω ορίσει σε 30 δευτερόλεπτα.

Ρύθμιση της σελίδας στο «κοινό», το πρόγραμμα περιήγησης του χρήστη (και οποιοδήποτε υλικό κατά μήκος του δρόμου) θα διατηρήσει ένα αντίγραφο. Έτσι, το φορτίο της πρώτης σελίδας θα κάνει ένα αίτημα, αλλά όλα τα φορτία σελίδας μετά από αυτό θα επαναχρησιμοποιήσουν την αρχική απόκριση, μέχρι να επιτευχθεί το χρονικό όριο.

Η επίδραση του υλικού δικτύου κατά μήκος του τρόπου μπορεί να είναι βαθιά. Πολλά μεγάλα δίκτυα (όπως ISPs) θα έχουν κοινή μνήμη cache μεταξύ των χρηστών. Οι φορείς εκμετάλλευσης κινητής τηλεφωνίας χρησιμοποιούν επίσης αυτή την τεχνική σε μεγάλο βαθμό - για παράδειγμα, για την προσωρινή μνήμη και οι ραντεβούσαν εικόνες που σερβίρονται πάνω από 3G. Οι φορείς εκμετάλλευσης ιστότοπων μπορούν επίσης να τοποθετήσουν μια κρυφή μνήμη http μπροστά από την υπηρεσία τους. Αυτό κάναμε στο BBC.

Στατικά στοιχεία ενεργητικού cache για αιώνες

A longer-term cache of BBC iPlayer displaying content that is updated only periodically

Το BBC Iplayer αποθηκεύει στατικά στοιχεία ενεργητικού για ένα χρόνο - οι μεταβολές της διεύθυνσης URL εξασφαλίζουν ότι οι χρήστες βλέπουν νέες εκδόσεις αμέσως

Μια τεχνική που χρησιμοποιούμε πολλά στο BBC είναι να αντιμετωπίζουμε διαφορετικά στατικά περιουσιακά στοιχεία (όπως εικόνες, CSS και σεναρίων) διαφορετικά για το πώς αντιμετωπίζουμε τις σελίδες. Οι σελίδες Caching HTML για πολύ καιρό μπορούν να οδηγήσουν σε χρήστες που λείπουν τις ενημερώσεις περιεχομένου, αλλά μπορούμε να επωφεληθούμε από αυτή τη συμπεριφορά όταν πρόκειται για στατικά περιουσιακά στοιχεία.

Στο BBC στέλνουμε όλα τα στατικά περιουσιακά στοιχεία με μέγιστη ηλικία 31.536.000 δευτερολέπτων που ρυθμίζονται στην κεφαλίδα της κρυφής μνήμης. Αυτό εξασφαλίζει τα περιουσιακά στοιχεία αποθηκευτούν για 365 ημέρες. Στην πραγματικότητα, τα περιουσιακά στοιχεία ζητούνται μόνο μία φορά. Αυτό είναι καλό για την απόδοση αλλά κακή για την ευελιξία καθώς οι αλλαγές στο εν λόγω περιουσιακό στοιχείο θα χρειαστούν πολύ χρόνο για να φτάσουν στον χρήστη.

Προκειμένου να λειτουργούμε γύρω από αυτό, κάθε φορά που κυκλοφόρτουμε μια νέα έκδοση μιας σελίδας, αλλάζουμε τη διεύθυνση URL όπου διατηρούνται τα περιουσιακά στοιχεία. Αυτό το τέχνασμα σημαίνει ότι οι νέες αλλαγές τοποθετούνται μπροστά στους χρήστες αμέσως, αλλά εξακολουθούμε να έχουμε τα ίδια οφέλη απόδοσης.

Τελικές λέξεις

Η προσωρινή αποθήκευση προκειμένου να ενισχυθεί η απόδοση του ιστότοπου θα μειωθεί με τη μείωση του λειτουργικού κόστους για τους ιστοτόπους μας και θα διατηρήσει τη ροή των χρηστών μας, οδηγώντας σε μια μεγάλη εμπειρία χρήστη.

Το άρθρο αυτό δημοσιεύθηκε αρχικά στην έκδοση 279 του Net, το περιοδικό Best-Selling στον κόσμο για τους σχεδιαστές και τους προγραμματιστές ιστοσελίδων. Αγορά Τεύχος 279 ή Εγγραφείτε στο NET .

Θέλετε να μάθετε άλλους τρόπους για να δώσετε στους ιστότοπούς σας μια ώθηση ταχύτητας;

Jason Lengstorf is giving his workshop Modern Front-End Performance Strategies and Techniques at Generate New York from 25 27 April 2018

Ο Jason Lengstorf δίνει στο εργαστήριό του σύγχρονες στρατηγικές και τεχνικές για την απόδοση του μπροστινού άκρου στη δημιουργία της Νέας Υόρκης από τις 25 27 Απριλίου 2018

Ο Jason Lengstorf είναι ένας προγραμματιστής, σχεδιαστής, συγγραφέας και φιλική αρκούδα. Η εστίασή του είναι στην αποτελεσματικότητα και την απόδοση των ανθρώπων, των ομάδων και λογισμικού. Στην IBM, δημιουργεί διαδικασίες και συστήματα για να κάνει το σωστό το εύκολο πράγμα. Εν πάση περιπτώσει, περιπλανιέται τη Γη σε αναζήτηση νέων και καλύτερων σνακ.

Στο εργαστήρι του σύγχρονες στρατηγικές και τεχνικές απόδοσης του μπροστινού άκρου στο Δημιουργία της Νέας Υόρκης από τις 25-27 Απριλίου 2018 , Ο Jason θα παρουσιάσει τους συμμετέχοντες πώς να βελτιώσουν τους αντιληπτούς χρόνους φόρτωσης - Πόσο καιρό αισθάνεται σαν να χρειάζεται να φορτώσει μια σελίδα - καθώς και πραγματικούς χρόνους φόρτωσης, χρησιμοποιώντας μόνο τεχνικές εμπρόσθιου άκρου, όπως:

  • Το μοτίβο φόρτωσης σκελετού
  • Καλύτερη φόρτωση για στατικά περιουσιακά στοιχεία
  • Τεμπέλης φόρτωσης
  • Εργαζόμενοι υπηρεσιών
  • Καλύτερες διαδικασίες κατασκευής και πολλά άλλα!

Δημιουργία της Νέας Υόρκης πραγματοποιείται από τις 25-27 Απριλίου 2018. Πάρτε το εισιτήριό σας τώρα .

Σχετικά Άρθρα:

  • 4 συμβουλές για να βελτιώσετε την απόδοση της σελίδας σας
  • 7 Συμβουλές εμπειρογνωμόνων για την απόδοση Web Nailing
  • 3 απλά τρόποι για να επιταχύνετε τον ιστότοπό σας

πως να - Τα πιο δημοφιλή άρθρα

Πώς να το Photoshop στο iPhone (ναι, είναι ένα πράγμα)

πως να Feb 5, 2026

(Credit Image: Jason Parnell-Brookes) ΠΗΔΑΩ ΣΕ: Photoshop Express ..


8 Χαρακτηριστικά του Art-Of-Art CSS (και πώς να τα χρησιμοποιήσετε)

πως να Feb 5, 2026

(Πιστωτική εικόνα: Getty Images) Το CSS εξελίσσεται συνεχώς και έχει προ..


Δημιουργήστε ένα προσαρμοσμένο χαλάκι

πως να Feb 5, 2026

(Πίστωση εικόνας: Σχεδιαστής ιστοσελίδων) Το χαλαρό είναι ένα όλ..


Πώς να σχεδιάσετε έναν ελέφαντα

πως να Feb 5, 2026

Ως το μεγαλύτερο ζωντανό έδαφος θηλαστικό στη Γη, οι ελέφαντες έχουν την αναμφισβήτη..


Πώς να χρησιμοποιήσετε υφές στο Photoshop

πως να Feb 5, 2026

Η υφή είναι συχνά ό, τι θολώνει τις γραμμές μεταξύ παραδοσιακών και ψηφιακών έργων τέχνης. Συχνά είναι εύ..


Κάντε τους χαρακτήρες σας ποπ με χρώμα και φως

πως να Feb 5, 2026

Μου αρέσει πραγματικά να δουλεύω στο χρώμα, είτε είναι μέσα Photoshop CC..


Κατασκευάστε κλιμακούμενα ανταπόκριση

πως να Feb 5, 2026

Κάθε φορά που μιλάμε για οικοδόμηση συντηρητών και κλιμακωτών ιστοσελ..


Δημιουργήστε ένα αποτέλεσμα που ρίχνει νερό στην αναλογία

πως να Feb 5, 2026

Αυτό το σεμινάριο δείχνει πώς να προσομοιώσετε ένα υγρό αποτέλεσμα πο�..


Κατηγορίες