La vitesse de chargement du site est très lente

25

La vitesse de chargement des pages du site Magento de mon client est très lente. Que puis-je faire pour réduire le temps de chargement des pages?

L'URL du site est desibazaar.pk.

Shehryar
la source

Réponses:

36

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

entrez la description de l'image ici

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:

entrez la description de l'image ici

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.

entrez la description de l'image ici

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

Sander Mangel
la source
Excellent .. Merci pour la perspicacité sur "BlackFire"
Rajeev K Tomy
11

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

  1. Vous pouvez installer Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html et activer css, js merge

  2. Activez la mise en cache des blocs Magento dans admin.

  3. Activer la compression Gzip

Optimisation du backend

  1. Vous pouvez configurer Varnish pour la mise en cache pleine page

  2. Activez la complication dans le backend.

  3. Activer la structure plate pour le catalogue (catégorie et produits)

huzefam
la source
1

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.phtmlchangez 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>
Freejoy
la source
1

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

  • Utiliser Nginx comme serveur Web
  • Déplacez MySQL vers un serveur différent avec une réplique maître-esclave. Si vous êtes sur AWS, utilisez RDS pour MySQL.
  • Optimiser Nginx et Php-fpm
  • activer la compression gzip
  • Activer le cache du navigateur

Paramètres de Magento

  • Désactivez toutes les extensions inutiles
  • Fusionner des fichiers CSS et JavaScript
  • Désactiver le journal
  • Nettoyer les tables de journaux Magento
  • Activer le cache de page entière externe

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/

Ranjeet Vimal
la source
0

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

  1. Utilisez CDN si possible

  2. Utilisez la fonction de compilation de Magento. Il est indiqué que vous augmentez les performances de 25% à 50%: Système> Config. > Outils> Compilation.

  3. Montrer moins. du produit dans la page de liste des produits.

  4. 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.

Arun Karnawat
la source
0

Si vous essayez d'accélérer votre frontend:

  • utilisez un CDN pour les images (!) et réduisez la taille de l'image
  • concaténer CSS et JS
  • charger JS avant la balise de fermeture du corps
  • utiliser le chargement js asynchrone autant que possible
  • utilisez des images-objets ou une icône-police au lieu de milliers de fichiers png
  • réduire le CSS inutilisé
  • générer un chemin critique pour votre css

Backend:

  • utiliser un cache supplémentaire comme le vernis (TTFB <15 ms) ou LestiFpc
  • profilez vos requêtes MySQL de chargement de page et complexes et corrigez-les
  • activer gzip, etags, navigateur-cache, etc. via .htaccess
  • utiliser MySQL sur un seul serveur
upandfine
la source
Veuillez ne pas lier à des services payants avec votre URL d'invitation pour votre gain personnel.
7ochem
0

Pour augmenter la vitesse du site Web magento, vous pouvez d'abord le scanner avec www.gtmetrix.com ou Google Page Speed ​​Insights:

Score de vitesse de la page Google

alors vous pouvez décider de ce qui pourrait être fait. Dans la plupart des cas, cela revient à:

  • optimiser le temps de premier octet (TTFB) pour réduire le temps de réponse du serveur
  • différer l'analyse de Javascript
  • optimiser les images
  • utiliser des sprites CSS
  • définir les dimensions de l'image
  • réduire CSS / JS / HTML
  • fusionner JS / CSS pour réduire le nombre de requêtes HTTP

Tiré de 34 façons d'accélérer M1 et M2

Konstantin Gerasimov
la source