Réponses:
Déterminez d'abord si c'est le rendu frontal ou l'exécution réelle du script qui est lente. Vérifiez auprès de la console du développeur de votre navigateur le Time To First Byte . C'est le temps que le script met à traiter sur le serveur
Dans la capture d'écran, vous pouvez voir qu'il est assez faible (200 ms), dans ce cas, le problème ne serait pas sur le serveur mais sur le front-end. Maintenant, si c'est fini, disons, une seconde que vous voudrez peut-être optimiser.
Avant de gifler sur certains boosters et une mise en cache supplémentaire qui n'est pas un correctif juste un patch ou un pansement pour cacher le vrai problème, essayez de comprendre ce qui est exactement lent. Vous pouvez également utiliser plusieurs outils pour cela.
Requêtes lentes
Magento peut être assez lourd sur la base de données, donc l'activation du journal des requêtes lentes peut être un bon point de départ. Découvrez ce post sur la façon de l'activer. Le journal vous montrera toute requête qui prend plus de X secondes.
Profileurs
Les profileurs vous aident à mieux comprendre ce qui se passe dans votre code. Pour Magento, je recommanderais de commencer par Aoe_Profiler . Installez-le et allumez-le. À l'avant, cela vous donnera une sortie comme celle-ci:
Développez les résultats et recherchez les gros blocs rouges. Ce sont les temps réels qu'il a fallu pour traiter une partie du code. Recherchez les modules tiers qui prennent beaucoup de temps ou de mémoire.
Un autre excellent outil est le feu noir . Puisque Aoe_Profiler est un module dans Magento, il n'affiche pas les processus php sous-jacents et peut planter sur de grandes installations avec beaucoup de modules. Un feu noir s'exécute sur le serveur. Avec un hackathon, nous avons mis en place une boîte Vagrant avec un feu noir que vous pouvez utiliser. Mettez votre projet là-bas et lancez-le. Consultez le site du feu noir pour plus d'informations sur son utilisation.
Le dernier est probablement mon préféré: New Relic .
Malheureusement, c'est un service payant bien qu'ils offrent un essai gratuit pour les comptes professionnels. Après l'avoir installé sur votre serveur et connecté le profil, attendez quelques heures pour que les données entrent. Assurez-vous qu'il y a du trafic sur la boutique.
New Relic a également un article de blog sur la façon de déboguer Magento que je peux recommander. Consultez également le module ProxiBlue New Relic pour des données Magento supplémentaires dans New Relic.
Fondamentalement, cela vous montrera toutes les fonctionnalités décrites ci-dessus comme les requêtes lentes, les processus en PHP, etc. et les affichera dans des graphiques et des tableaux faciles. Cela devrait vous donner un excellent aperçu du problème de votre installation.
Et d'ici Maintenant que vous savez ce qui cause les faibles performances, vous pouvez passer à la résolution. Consultez les forums comme celui-ci ou Google pour la partie ou le module de Magento qui est lent. De nombreux problèmes sont bien connus et d'autres l'ont déjà résolu. Ou, si vous ne trouvez pas de solution, posez votre question ici et incluez vos résultats dans la question
L'optimisation de la vitesse du site dans Magento est un sujet très vaste. Ceci est un lien qui peut vous aider,
http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/
Prenant un aperçu de celui-ci,
Vous devez vous concentrer sur deux aspects, 1. l'optimisation frontend 2. l'optimisation backend
Optimisation frontend
Vous pouvez installer Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html et activer css, js merge
Activez la mise en cache des blocs Magento dans admin.
Activer la compression Gzip
Optimisation du backend
Vous pouvez configurer Varnish pour la mise en cache pleine page
Activez la complication dans le backend.
Activer la structure plate pour le catalogue (catégorie et produits)
Voici quelques petites astuces que j'ai trouvées pour accélérer votre site, que vous voudrez peut-être essayer:
Différer le chargement de l'image en l'ajoutant au /template/page/html/head.phtml
<script>
function init() {
var imgDefer = document.getElementsByTagName('img');
for (var i=0; i<imgDefer.length; i++) {
if(imgDefer[i].getAttribute('data-src')) {
imgDefer[i].setAttribute('src',imgDefer[i].getAttribute('data-src'));
} } }
window.onload = init;
</script>
Ensuite, /template/catalog/product/list.phtml
changez vos liens d'image comme ceci:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AQQATUqB0EhKgAAAAxJREFUCNdj+P//PwAF/gL+3MxZ5wAAAABJRU5ErkJggg==" data-src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>
Un autre consiste à "Pre Gzip" tous vos javascripts et fichiers CSS, puis ajoutez ceci à votre .htaccess
.
<ifModule mod_headers.c>
##### serve pre gziped files #####
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
# Serve gzip compressed CSS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.css $1\.css\.gz [L,QSA]
# Serve gzip compressed JS files if they exist and the client accepts gzip.
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule ^(.*)\.js $1\.js\.gz [L,QSA]
# Serve correct content types, and prevent mod_deflate double gzip.
RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
</IfModule>
Magento est un excellent cadre de commerce électronique. Il a des tonnes de fonctionnalités et vous pouvez vraiment créer une plate-forme de commerce électronique évolutive. J'ai utilisé Magento dans mon dernier projet et j'ai rencontré ce problème de vitesse. Après avoir fait quelques recherches et modifications, j'ai vraiment accéléré mon site Web.
Optimisation du serveur
Paramètres de Magento
Installer Redis Cache, APC Opcode & Full Page Cache Extension - Installer PHP Accelerators - Installer Redis Cache pour le backend et la mise en cache de session - Installer Lesti FPC
Optimisation d'image et YSlow - en moyenne, 56% du poids des pages d'un site Web est composé d'images. L'optimisation des images de vos produits peut considérablement augmenter la vitesse de vos pages car cela réduit leurs temps de téléchargement. - Scannez votre site Web via gtmetrix ou Pingdom et suivez leurs suggestions d'optimisation.
Utiliser CDN
Vous pouvez lire des détails à ce sujet sur mon site Web: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
si vous êtes dans un environnement d'hébergement partagé, il est très difficile d'atteindre une bonne vitesse car on n'a pas le contrôle total sur le serveur et la ressource est utilisée par plusieurs autres sites Web, mais si vous êtes sur un serveur dédié et avez un accès administrateur complet, essayez le cache de vernis .
d'autres choses que vous pouvez faire -
1.Combinez des fichiers JS et CSS
Magento admin -> System Configuration -> Developer -> Under “Javascript Settings”, change “Merge Javascript Files” to YES.
Magento admin -> System Configuration -> Developer -> Under “CSS Settings”, change “Merge CSS Files” to YES
2. activez la compression de sortie, expire les en-têtes et désactivez les ETags dans le fichier .htaccess, voir ce /programming//a/14745165/3114253
Utilisez CDN si possible
Utilisez la fonction de compilation de Magento. Il est indiqué que vous augmentez les performances de 25% à 50%: Système> Config. > Outils> Compilation.
Montrer moins. du produit dans la page de liste des produits.
Activez le catalogue plat.
Depuis l'interface administrateur Magento, accédez à Système> Configuration> Catalogue. Sous Frontend, remplacez Use Flat Catalog Category par YES. Si vous le souhaitez, sous Frontend, remplacez Use Flat Catalog Product par YES. Videz le cache.
Si vous essayez d'accélérer votre frontend:
Backend:
Pour augmenter la vitesse du site Web magento, vous pouvez d'abord le scanner avec www.gtmetrix.com ou Google Page Speed Insights:
alors vous pouvez décider de ce qui pourrait être fait. Dans la plupart des cas, cela revient à:
Tiré de 34 façons d'accélérer M1 et M2