L'année dernière, lors d'une session d'essais de l'utilisateur pour l'application BBC News, l'un des utilisateurs a fait un commentaire qui s'est vraiment coincé avec moi. Ils ont déclaré: "J'aime couler". Je ne pense pas qu'il y ait un meilleur résumé de la performance signifie pour nos utilisateurs. Sur une application ou un site Web rapide, l'utilisateur peut circuler, interagir et interagir avec le contenu.
Les expériences fluides sont également bonnes pour les propriétaires de site. Une expérience fluide rapide aide les utilisateurs à atteindre leurs objectifs et à atteindre les objectifs de nos organisations. Amazon et d'autres ont démontré le lien étroit entre la performance et l'activité de l'utilisateur: comme l'attente des pages baissent, le temps et l'argent que l'utilisateur dépense augmente.
En savoir plus: NordvPN Review
Les caches sont créées lorsqu'une petite quantité de quelque chose est stockée plus près de l'endroit nécessaire, normalement pour empêcher la retravaque. Par exemple, si je mange des quilles, j'ai tendance à verser quelques-uns dans ma main, puis à manger à partir de là. En effet, je crée une cache de quilles dans ma main car il est plus rapide de les manger de cette façon que de retourner au paquet.
Ce même motif est utilisé dans la technologie. Il y a trois caches que nous devons envisager:
La mise en cache peut apporter une énorme amélioration de la performance; À la BBC, j'ai vu la mise en cache d'augmenter les performances plus de 20 fois en code de production. Il est également bénéfique pour les opérateurs de site. Avec la mise en cache, plus d'utilisateurs peuvent être pris en charge par le même matériel. Cela réduit le coût dans le matériel par utilisateur et réduit donc les coûts d'exploitation du site Web.
Pour qu'il soit efficace, nous voulons utiliser des données en cache autant que possible. Pour prolonger l'analogie des quilles, si je veux une quille bleu mais je n'ai pas de quilles bleues dans ma main (aka mon cache), je vais devoir retourner au paquet. Ceci est connu comme le «taux de frappe». C'est un «coup» lorsque l'article est dans le cache et une «Miss 'quand ce n'est pas le cas. Nous voulons un taux élevé de frappe afin que le cache prend la majeure partie de la charge.
L'une des méthodes les plus simples pour augmenter le taux de frappe est de réduire les variations. Étirant un peu d'analogie de ma quilles, imaginez si toutes les quilles étaient rouges. De cette façon, n'importe quel quille dans ma main serait un cache frappé; Je n'aurais jamais besoin de retourner au paquet. En appliquant cela sur le Web, si nous pouvons donner la même page autant que possible des utilisateurs, le cache devient plus efficace car davantage de demandes frappera le cache.
C'est donc la théorie. Soyons pratiques. Commençons par regarder la mise en cache de la demande de HTML. La mise en cache de tous les types de fichiers est contrôlée à l'aide d'en-têtes HTTP. Les en-têtes sont des métadonnées (données sur les données) envoyées du serveur au navigateur et visibles à tout le matériel réseau entre les deux. Pour dire au monde, il a la permission de cacher nos pages et de partager ce cache entre les utilisateurs, nous définissons l'en-tête suivant:
Cache-Control: public, max-age=30
Ici, nous avons également défini une limite de temps: la durée maximale du cache doit réutiliser cette page pour, en quelques secondes. Pour cet exemple, je l'ai défini à 30 secondes.
En définissant la page sur «Public», le navigateur de l'utilisateur (et tout matériel en cours de route) conservera une copie. Donc, la première page de page fera une demande, mais toutes les charges de la page après cela réutiliseront la réponse initiale jusqu'à ce que la limite de temps soit atteinte.
L'effet du matériel réseau en cours de route peut être profond. De nombreux grands réseaux (tels que ISPS) auront un cache partagé entre les utilisateurs. Les opérateurs mobiles utilisent également cette technique fortement - par exemple, pour cacher et recompreter des images servies sur 3G. Les opérateurs de site peuvent également placer un cache HTTP devant leur service. C'est ce que nous avons fait à la BBC.
Une technique que nous utilisons beaucoup à la BBC est de traiter les actifs statiques (comme des images, des CSS et des scripts) différemment de la manière dont nous traitons les pages. La mise en cache des pages HTML trop longtemps peut entraîner des mises à jour du contenu manquant des utilisateurs, mais nous pouvons tirer parti de ce comportement en matière d'actifs statiques.
À la BBC, nous envoyons tous les actifs statiques d'un âge maximum de 31 536 000 secondes dans l'en-tête de cache. Cela garantit que les actifs sont mis en cache pendant 365 jours. En effet, les actifs ne sont demandés qu'une seule fois. C'est bon pour la performance, mais mauvais pour la flexibilité, car les modifications apportées à cet actif prennent beaucoup de temps pour accéder à l'utilisateur.
Afin de contourner cela, chaque fois que nous publions une nouvelle version d'une page, nous modifions l'URL où les actifs sont conservés. Cette astuce signifie que de nouveaux changements sont mis en face des utilisateurs immédiatement, mais nous obtenons toujours les mêmes avantages de la performance.
La mise en cache afin d'améliorer les performances du site Web sera à terme réduira les coûts d'exploitation pour nos sites Web et préserver le flux de nos utilisateurs, conduisant à une excellente expérience utilisateur.
Cet article a été publié à l'origine dans le numéro 279 de Net, le magazine le plus vendu au monde pour les concepteurs et les développeurs Web. Acheter numéro 279 ou Abonnez-vous au NET .
Jason Lengstorf est un développeur, designer, auteur et ours convivial. Son objectif est sur l'efficacité et la performance des personnes, des équipes et des logiciels. À IBM, il crée des processus et des systèmes pour faire la bonne chose la chose facile ™. Du tout autre fois, il erre la Terre à la recherche de nouvelles collations.
Dans son atelier Stratégies de performance et techniques de performance frontales modernes à Générez New York du 25 au 27 avril 2018 , Jason affichera les participants à améliorer les temps de chargement perçus - depuis combien de temps il se sent comme il faut charger une page - ainsi que des temps de chargement réels, en utilisant uniquement des techniques de bout, notamment:
Générer New York a lieu du 25 au 27 avril 2018. Obtenez votre billet maintenant .
Articles Liés:
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Brendan McCaffrey (concept original de Clara McCaffrey)) [DIX]..
[DIX] [DIX] [DIX] [dix] (Crédit d'image: Zakary Lee) [DIX] LES VISSAGES DE MANGA SO..
Apprendre à l'utiliseur Contraste Dans L'Art Transformera Vos Projets et Vélecteur Façon de Travailler. LON PRÉFÉÉRÉ POUR TRAVAILLER AVEC L'Art est contrasté. CELA SE PRODUIT Génére..
[DIX] [DIX] [DIX] [dix] (Crédit d'image: futur) [DIX] Les Polices Variables Perpett..
[dix] [dix] [dix] [dix] Créer un matériau transparent tel que le verre semble facile - il suffit d'..
[dix] [dix] [dix] [dix] Lesigner d'affinité sont populaires art vectoriel ..
[dix] [dix] [dix] [dix] Ce didacticiel WebGL montre comment créer une simulation environnementale 3D..
Apprentissage Comment dessiner manga n'est pas facile feat. Donc, pour faciliter la tâche que possible, je suis un simple processus étape par étape qui utilise le mouvement,..