Comment obtenir commencé avec la mise en cache web, Cdn, et les serveurs proxy?
Je suis débutant programmeur construction d'un démarrage que j'ai (évidemment) j'espère permettra de créer une grande quantité de trafic. Je suis l'hébergement de mon projet django sur dotcloud, qui est sur Amazon EC2. J'ai quelques multimédia pour le streaming (Http, pas rmtp) de sorte que le dotcloud gars m'a recommandé d'aller avec un CDN. Je suis également à l'aide d'Amazon S3 pour le stockage et ont donc décidé d'aller avec Amazon CloudFront que mon CA.
Le temps est venu où je dois tourner mon attention à la mise en cache et je suis perdue et confuse. Je suis totalement nouveau dans ce concept. L'ensemble de la mesure de mes connaissances vient d'un tutoriel, je viens de lire (http://www.mnot.net/cache_docs/) et une source de confusion week-end passé à la consultation de google. Le plus troublant est que je ne suis même pas sûr de ce que je dois faire pour mon site.
-
Quelle est la différence entre un CA et d'un serveur proxy?
-
Est-il possible que je veuille utiliser un service de mise en cache (par exemple, memcached, redis), un CDN (CloudFront), ET un serveur proxy (squid)?
-
Notre site est DB poussé et produit généré dynamiquement des listes spécifiques à l'utilisateur endroits. Pouvez un tel site peut être mis en cache? (Les listes elles-mêmes sont filtrables, via AJAX, de sorte que l'URL peut rester le même tout en produisant en grande partie des résultats différents. Par exemple, example.com/some_url/vous pouvez générer une liste de 40 objets, mais seulement 10 apparaître sur la page. En cliquant sur un filtre, l'utilisateur peut se retrouver avec 10 différents objets tout en continuant à /some_url/)
-
Quelles sont les meilleures pratiques pour un trafic élevé, riche contenu du site?
-
Comment puis-je apprendre à ce sujet? Partout où je regarde, semble prendre pour acquis quelques notions de base que je viens de ne pas avoir comme une partie de ma propre fondation encore.
Je ne suis pas certain que je suis de se poser les bonnes questions. Juste se sentir perdue. J'ai maintenant intégré à 95% de la totalité de mon site et je pensais que j'étais juste à gommer les détails, mais la mise en cache semble être une entreprise importante. Des conseils/conseils/encouragements serait bien apprécié!
Vous devez vous connecter pour publier un commentaire.
À droite, puis nous allons commencer avec la mise en cache...
La mise en cache est à propos de l'enregistrement quelque chose sur une base temporaire, de sorte que vous n'avez pas à effectuer un plus cher de l'opération pour le récupérer à chaque fois.
Mise en cache HTTP est sur l'enregistrement des aller-retours pour les serveurs, si vous utilisez seulement le comportement par défaut d'un navigateur va demander au serveur de "m'envoyer une copie de cette ressource si vous avez une version plus récente"
Si vous définissez l'en-tête d'expiration à une date ultérieure, alors le navigateur ne peut pas poser cette question car il sait qu'il peut utiliser la copie de la ressource qu'il a obtenu.
La mise en cache à ce niveau s'améliore à la fin de l'expérience des utilisateurs et vous permet d'économiser de la bande passante.
De votre brève description de la mise en cache HTTP pourraient aider avec les petits fichiers statiques (à lire de ch3 de bookofspeed.com)
DB la mise en cache memcached (et redis) sont utilisés pour la réduction de la charge sur les bases de données (par exemple) en enregistrant les résultats sur une opération, puis de les servir de la mémoire cache plutôt que de répéter l'opération de base de données)
Dans votre situation, vous serait-cache à l'extraction de données de la couche en fonction des paramètres de la requête (et peut-être d'assurer les réponses HTTP au client ne sont pas mis en cache).
Cdn vs Serveurs Proxy...
Ce sont vraiment différents des bêtes - Cdn d'assurer un contenu proche de vos visiteurs afin de réduire les temps d'attente - si vous servez des fichiers volumineux, il met également sur un réseau optimisé pour la place de vos serveurs, mais il y a un £££ prix attaché à le faire. Certains Cdn par exemple, nuage devant un proxy de type de comportement où ils vont revenir à votre serveur d'origine s'ils n'ont pas le fichier le visiteur veut.
Serveurs Proxy sont littéralement des serveurs qui se trouvent entre votre serveur et la fin de visiteur - ils peut-être partie de votre batterie de serveurs (reverse proxy) le réseau du fournisseur d'accès ou le visiteur du réseau.
Un reverse proxy est essentiellement le déchargement le travail de communication avec la fin de visiteur à partir de votre serveurs par exemple, s'ils ont une connexion lente ils cravate en place d'un serveur de générer une page de plus. Les proxys inverses peuvent aussi s'asseoir en face de plusieurs serveurs - tous faire la même chose ou des choses différentes, et le proxy présente une adresse unique au monde extérieur. Squid est un proxy que vous pourriez utiliser, mais le Vernis est très populaire ATM trop.
Normal procurations agissent simplement comme des caches pour les visiteurs qui viennent à travers eux, par exemple, une entreprise peut avoir une mise en cache du serveur proxy à leur passerelle internet, de sorte que la première personne qui visite un site externe arrive à récupérer un fichier et suivantes, les visiteurs ont la forme de la proxy - ils obtenir plus rapidement de l'expérience et de la société réduit leur consommation de bande passante.
Je devine que vous n'avez pas un trafic élevé de site au moment de sorte que votre défi est de comprendre où passer vos efforts c'est à dire ce qui doit l'optimisation de la lors de.
Ma première recommandation serait d'obtenir une certaine surveillance de l'utilisateur réel (RHUM), même si c'est la construction de votre propre en utilisant Boomerang.js ou Pion. Regardez également des outils de surveillance tels que Cacti/Munin/CollectD de sorte que vous pouvez comprendre la charge sur vos serveurs.
La compréhension de vos utilisateurs l'expérience est la clé pour travailler où vous en avez besoin pour optimiser.