Question

Je suis un peu confus que je vais au sujet des recherches sur la pleine page pour Caching Community Edition 1.8. Je l'ai déjà mis en place un niveau deux Redis Cache, CDN, accordé le my.cnf de MySQL pour une performance maximale (w / DB étant sur un serveur distinct bien sûr), et j'ai 2 serveurs d'hébergement notre magasin derrière un équilibreur de charge. Je dis cela pour dire que je ne suis pas immédiatement sauter de la FPC avant de faire les réglages de performance initial.

Je ne l'ai jamais utilisé auparavant sur Varnish tout type de site, et encore moins Magento, et je n'ai jamais mis en place CCPF dans Magento soit. Je comprends Varnish d'être un proxy qui agit comme un croisement entre un CDN et un cache de pages sur son propre, l'envoi de données au navigateur avant que la demande est encore au serveur Web. Et à ma connaissance, un module CPF crée un cache local que le serveur Web plats se sortir. Je sais que pour les deux configurations, vous devez faire une « Perforation » pour obtenir le contenu dynamique grâce au navigateur (bien que les techniques sont différentes, entre l'utilisation d'un module ou à l'aide Varnish). S'il vous plaît me corriger si je comprends mal quoi que ce soit ici.

Jusqu'à ce moment, je pensais à eux comme deux entités distinctes que vous pourriez mettre en œuvre l'aide sur votre site, mais somethings maintenant j'ai lu semblent impliquer le contraire. Mon plan initial était d'acheter le « chaîne avancée Plein Cache » module pour Magento (anciennement « minuscule brique Lightspeed CPF », je crois) comme il semble être le plus populaire, si une touche sur le côté plus coûteux (mais, franchement, 350 $ est pas grand-chose pour notre entreprise, surtout pour ce qu'elle peut faire). Moi-même et deux de mes collègues développeurs projetaient sur l'apprentissage pour mettre en œuvre correctement et pleinement dans notre coutume, thème maison pour maximiser ce que nous pouvons en sortir. Après cela a été fait, à un moment donné sur la route, je me suis dit que je regarderais dans la mise en œuvre Varnish aussi bien -. Mais, comme je le disais plus tôt, je les avais compris être séparés

Maintenant, cependant, je commence à venir à travers des extensions comme celui-ci pagecache Propulsé par Varnish qui est libre, ou ce Vortex Cache Propulsé par Varnish Cache qui est près de 800 $ US, qui sont des modules Magento pleine page Cache travaille directement avec les Varnish .

Ma question, l'échange pile, comment dois-je voir un CPF et Varnish? Comme des entités distinctes? Si oui, sont-ils mutuellement exclusifs? Sont-ils les deux faces d'une même médaille que je mettre en œuvre ensemble? Ou sont-ils semblables, mais ni exclusive, ni y compris les uns des autres?

Puis-je utiliser le CPF Advanced Warp je l'ai mentionné ci-dessus avec Varnish? devrait Je l'utilise avec vernis? Ou serait-il préférable d'utiliser un autre CPF si je prévois d'utiliser Varnish? OU encore, est-il un si bon que CPF je ne ai pas besoin Varnish? Ou vice-versa, devrais-je utiliser juste Varnish et le fossé l'idée de CPF?

Désolé pour le mur de texte, mais je l'ai regardé beaucoup d'articles, blogs et messages du forum, et je ne l'ai pas été en mesure de discerner une réponse définitive à ces questions. J'apprécie vraiment votre aide et entrée dans cette affaire =)

Oh, et enfin, une petite question au sujet Varnish et webservers. Actuellement, je suis en utilisant la configuration normale d'Apache LAMP, mais pendant un certain temps maintenant, j'ai été voir les gens rave sur l'utilisation Nginx avec Magento. Je l'ai fait moi-même quelques tests, tests de résistance et de charge, et il semble que cela peut certainement fonctionner un peu mieux dans les bonnes conditions. En tant que tel, je considérais la commutation à un moment donné dans l'avenir proche. Est-ce que cela en tout cas affecter mon désir et la décision d'utiliser CCPF et / ou Varnish?

Merci !!!

EDIT: Oh! Et une question plus rapide - Depuis que j'ai deux serveurs d'hébergement mon site derrière un équilibreur de charge (qui est aussi une configuration qui peut être augmentée horizontalement en cas de besoin), je utiliser pleinement Redis et Memcached hébergé sur un separate serveur Web de ceux et DB pour mes sessions et chaque niveau de deux niveaux cache de Magento (bien, Zend). Je suppose que le CPF serait de stocker des données dans l'un de ceux des systèmes? Aurais-je besoin d'avoir une extension spécifique pour y stocker ou sont-ils tout faire? Et alors que je suppose que non, cela affecterait Varnish de toute façon? Merci encore !!

Était-ce utile?

La solution

Il y a deux choses difficiles dans la science informatique:

  1. les choses Naming
  2. Cache infirmation.

Perforation tombe dans la catégorie n ° 2:)

Général

La meilleure approche est de commencer les points les plus bas de la pile et optimiser jusqu'à la frontend de Magento.


Base de données et systèmes de fichiers

doit toujours être les premières à se concentrer. Car. E / S.

mytop est un script Perl basé sur Linux pratique qui imitent la commande Linux 'top' et vous donner un aperçu sur l'état de votre instance de MySQL (s).

Htop est un plus robuste haut , La fonction strace peut aider à déterminer entrées / sorties de un processus pour trouver les goulots d'étranglement potentiels.

iotop est un autre outil à prendre en compte pour la surveillance E / S.

D'autres scripts utilitaires à portée de main comme mysqltuner.pl et mysql primer tunning peut offrir un aperçu de vos variables d'exécution de MySQL et offre des conseils pour vous aider. Gardez à l'esprit ceux-ci sont destinés à être des guides que la meilleure approche est toujours une évaluation des besoins et mise au point à partir des données connues recueillies. faire Aveuglément peut donc causer plus de dégâts parfois que de bien. Et courir prématurément ces sans au moins 24 heures de variables d'exécution de MySQL peut offrir de mauvais conseils.

Gardez à l'esprit Percona , MariaDB et MySQL standard devrait marcher avec tous ce qui précède. Privilégiant Percona comme une fourchette de MySQL, car Magento est si lourd sur les offres InnoDB et XtraDB de nombreux outils et améliorations au moteur db.


Apache ou Nginx

Toujours en utilisant Apache comme il a servi beaucoup d'autres bien, moi-même inclus. Je l'ai utilisé et configuré Nginx ainsi. Bien qu'il offre quelques avantages il y a une courbe d'apprentissage. Bien que les deux sont les deux options populaires, il offre quelques avantages sur Apache, on serait une plus petite empreinte mémoire. Cependant, une course Apache PHP-mince abattu FPM aura une empreinte mémoire similaire.

Exemple:

Depuis que cet article était sur la performance, je dois souligner que l'un des est de ne pas les plus faciles façons d'aider apache sortir de sa manière utiliser des fichiers .htaccess. Mettez ce que vous mettez là dans votre répertoire strophes, mis AllowOverride « Aucun » et vous finissez par ne pas demander apache pour parcourir tout le chemin du document pour savoir si elle doit payer attention à .htaccess ou non. Ceci est une indication de réglage de base, simple que beaucoup de gens semblent manquer.

Pour faciliter ce départ:

En utilisant un CDN pour aider à prendre la mollir soit aiderai évidemment, mais aura ajouté avantage sur l'optimisation des frontend puisque la plupart des utilisateurs finaux navigateurs pourront se connecter aux deux serveurs avec le même nombre de limites de connexion. Cela permet de libérer de Apache aussi de ne pas avoir à sauter à travers des contrôles et si justes pour servir une image statique simple. lighthttpd est une option si vous voulez exécuter un serveur web statique seulement pour le contenu en plus d'un CDN.

PHP

PHP-FPM et APC. Utilisez eux, dépouiller les modules PHP inutiles ou non requis ne sont pas nécessaires pour Magento.


Magento codebase

AOE_TemplateHints est grande pour déterminer si vos blocs sont en cache correctement:

AOE_Profiler est bon pour le profilage, assurez-vous et permettre son profilage couche DB (dans un environnement local / dev évidemment). Cela conjointement avec le mytop outil mentionné précédemment fait de trouver une SQL problème de mauvaise tâche plus facile.

modules 3ème partie et code personnalisé

Quelques très bonnes meilleures pratiques d'optimisation de Magento eux-mêmes est une bonne lecture, et de garder à l'esprit lors de l'examen des modules 3ème partie avant de les utiliser. (Il y a beaucoup de mauvais Behaving de l'OMI).

Un outil Magniffer de Magento ECG vous aidera à identifier facilement mauvais code sur la base se comporter PDF fourni ci-dessus. Il est symfony / php-analyseur à base cependant, mais installable par le compositeur.


Varnish

on ne tourne pas simplement vernis

En tant que défenseur de Varnish étant l'auteur était un noyau FreeBSD dev, il offre quelques secondes fou sous les temps de chargement. Toutefois, si vous avez même quelques-unes des moindres différences dans vos modèles qui ne sont pas hors de la boîte, vous passerez de temps à configurer le vernis / magento pour holepunch le contenu dont vous avez besoin. La plupart, je l'ai vu sera tout simplement AJAX'ify les éléments nécessaires uncached de Varnish.

Il y a un certain nombre de modules Magento pour aider à faciliter cette perforation et la mise en cache:

En fin de compte cela devrait être à la dernière fin de votre voyage d'optimisation, et MAI nécessitent une certaine personnalisation pour obtenir les choses.


Magento CE CPF

Jusqu'à présent, le meilleur CE CPF J'ai trouvé est: Lesti :: CPF

il est très bien mis en place (tous les observateurs sur la base) open-source et gratuit pour CPF Communauté.


A la fin de la journée utiliser vos propres tests et le jugement.

Quelques lectures complémentaires:

Autres conseils

Un peu en retard à ce fil, je sais, mais si vous êtes toujours à la recherche d'une solution, alors vous voudrez peut-être envisager, Evolved Caching. Il est le même prix que la chaîne, mais il:

  • est très rapide et facile à installer et à configurer - tout perforation et la configuration se fait à l'intérieur d'administration
  • Intègre directement avec Varnish et vous permet d'effacer et de réchauffer votre cache Varnish à l'intérieur Magento
  • Travaux avec le frontend form_key introduit 1,8 CE dans les deux Varnish et son propre cache.
  • est développé très activement avec le soutien réactif. nouvelles versions régulières dans le but de libérer des corrections de bugs dans quelques jours de rapports
  • qui est mis à jour à chaque nouvelle version

La mise en place avec Varnish est simple, il vous suffit de permettre un cadre d'administration et utiliser le .vcl trouvé ici . Vous n'êtes pas non plus limité à vernir ne cache pas les cookies au service lorsque sont présents selon la normale -. Vous obtenez un taux de succès de cache très élevé

Nous avons écrit un CPF qui est compatible avec la nouvelle clé de forme Magento 1.8. Plein de Brim Cache: http://ecommerce.brimllc.com/full-page- cache-magento.html

Boomer fait un point sur le démarrage en bas sur la pile et de travailler votre chemin vers le haut. CPF et Varnish devrait être à la dernière que vous faites. Nous effectuons des vérifications de performance et de trouver souvent des problèmes avec les configurations MySQL et APC qui sont vraiment hors tension. Comme la taille InnoDB définis par défaut et la base de données a ainsi Grown manière dépasser.

Nous vous recommandons de ne pas utiliser toute CPF avec vernis, à moins que spécifiquement conçus pour fonctionner ensemble. En règle générale, nous ne recommandons pas Varnish sauf si vous avez une poignée de serveurs costauds qui ont tous été réglés avec votre base de code et luttent encore pour maintenir le trafic. Mise à jour de contenu dynamique peut être difficile avec Varnish spécifiquement en essayant de limiter vos demandes au backend Magento et dans la réduction de la charge tour. Si vous avez un ou deux têtes Web, les gains peuvent ne pas être le temps et l'complication.

Dans la plupart des cas une bonne CPF vous obtiendrez la performance de votre besoin, bien sûr, après votre serveur et base de code ont été réglés. Avec notre CPF vous pouvez obtenir sous 15ms temps de génération sur le cache de niveau 1 et sous 100ms sur le cache standard. Notre utilisation cache de niveau 1 pour les cas où l'utilisateur n'est pas connecté et n'a rien dans leur panier car il ne fait pas la perforation. Lorsque l'une de ces conditions est fausse le cache standard est utilisé avec le support de perforation plein trou.

Notre CPÉ perforation facile construit et fonctionne hors de la boîte avec tous les blocs standards de Magento, ainsi que tous les blocs personnalisés que vous pourriez avoir. Il est tout configurable via le panneau d'administration.

Je vous recommande de coller avec Redis à moins que vous rencontrez des problèmes de mise à l'échelle avec elle. Il a un support d'étiquette et est beaucoup plus rapide que memcached avec le fichier ou base de données comme le back-end lent. Si vous souhaitez ajouter des balises cohérentes et le nettoyage, vous devez utiliser memcached avec base de données lorsque vous avez plusieurs têtes Web. Avec le soutien de l'étiquette de Redis construit, vous n'avez pas à vous inquiéter à ce sujet. Vous pouvez également utiliser Redis pour vos sessions.

Je peux parler pour tous CPF de, mais avec la nôtre, vous pouvez configurer via l'administrateur où stocker. Vous pouvez choisir d'utiliser la valeur par défaut de back-end cache Magento ou spécifier des paramètres personnalisés à utiliser l'un des fichiers, base de données, APC, Redis, Memcache, et un back-end optimisé du fichier.

Il n'y a pas de bonne réponse. Un magasin devrait avoir sous 3s page se charge dynamique et idéalement 1-2s chargement de la page dynamique, sous-seconde n'est pas nécessaire et est principalement axée sur une statistique de marketing. Apache est facile à apprendre et difficile à faire exécuter, Nginx est difficile à apprendre et facile à faire effectuer, de nombreux sites se déplacent vers Nginx cependant d'avoir une architecture de haute qualité basée sur Nginx et Magento est pas simple.

Multi-serveur des clusters Magento sont déjà complexes à mettre en œuvre, et encore plus difficile à maintenir, sinon sur l'architecture correcte, nous l'habitude de travailler avec des grappes plus grandes qui fait tout mieux fonctionner, y compris le classement. Nous le faisons avec config installer en standard avec des modifications mineures pour les moyennes à la stabilité à long terme ciblant les charges de page dynamique 1-2s, il rend tout beaucoup plus simple pour l'entretien.

Varnish peut être CCPF, CDN entre autres, mais dans votre cas, il est préférable de penser comme CCPF. CCPF permet plus de visiteurs sur le serveur et fournit une livraison plus rapide statique qui est Varnish un tel outil, mais il y a plusieurs problèmes avec elle, y compris le contenu dynamique, le contrôle des stocks, des prix. La réponse se résume à la façon dont votre entreprise est structurée, la façon dont vos données sont chargées, la fréquence, le type d'hébergement et de plus, est tout simplement votre entreprise affectée en fournissant un contenu statique aux visiteurs. Vous pouvez techniquement atténuer beaucoup de cela avec config mais il complique CPF l'environnement des affaires, du point de vue du propriétaire d'une entreprise, il peut ne pas produire un retour sur investissement équilibré.

Le CPF est la dernière partie si vous avez sous 3 s ou meilleur chargement dynamique, votre architecture peut gérer beadth dans les demandes de visiteurs car cela affecte le classement, absorbez le marketing et les pics de vacances, et ont le budget pour ajouter de la complexité de l'architecture du serveur - hébergement devrait être 0,5-1% du chiffre d'affaires pour les petites entreprises, la plupart de fonctionner essentiellement dans ce causant de nombreux problèmes commerciaux indirects.

La raison pour laquelle vous ne trouvez pas une réponse définitive est due au fait que ces questions prennent des mois à répondre car ils sont qualitatives (base commerciale) qui ont besoin d'informations d'une entreprise ne voudrait pas afficher publiquement, les vitesses de chargement de page sont quantitatives (sur la base technique) qui peut être affiché publicy, il est comment votre combiner les deux qui fait la solution.

Vous pouvez utiliser cette cache la page Magento qui répondra à vos besoins et est similaire à vernis. Il est utilisé par la plupart des plus grands magasins Magento. Quelques caractéristiques:

  1. Comme Varnish, il ne fait pas l'utilisation d'une connexion de base de données pour 90% des demandes. Par conséquent, il est extrêmement rapide
  2. Il a la capacité de pages vider automatiquement quand les choses comme les changements d'inventaire des produits et il est très bon que
  3. Il est un cache multi-couches pour qu'il supporte également la perforation lors de la connexion des utilisateurs (ces demandes nécessitent l'utilisation de bases de données)

En tant que cache multi-niveaux, il est évolutif même pour les magasins de la circulation les plus élevés et a été utilisé sur de nombreux sites de trafic extrêmement élevés qui reçoivent le trafic de pointe tels que les magasins en vedette sur Shark Tank (tv show)

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top