La vitesse de chargement du site est très lente
-
13-12-2019 - |
Question
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.
La solution
Déterminez d'abord s'il est le rendu d'extrémité avant ou l'exécution de script réelle lente. Vérifiez auprès de la console de développeur dans votre navigateur pour l'heure au premier octet . C'est combien de temps le script prend pour traiter sur le serveur
Dans la capture d'écran, vous pouvez voir que c'est assez faible (200ms), donc dans ce cas, le problème ne serait pas sur le serveur, mais à l'extrémité frontale. 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 une solution à un correctif ou une aide à bande pour masquer le vrai problème, essayez de déterminer ce qui est lent. Vous pouvez également utiliser plusieurs outils pour cela.
Queries lentes
Magento peut être assez lourd sur la base de données, ce qui allumait que le journal de requête lente pourrait être un bon endroit pour commencer. Découvrez Cet article sur la façon de l'allumer. Le journal vous montrera toute requête qui prend plus de temps que x secondes.
Profilers
Les profilers vous aident à mieux comprendre ce qui se passe dans votre code. Pour Magento, je vous recommanderais de commencer par aoe_profiler . Il suffit d'installer et d'allumer-le. À l'avant, il vous donnera une sortie comme celle-ci:
Développez les résultats et vérifiez les gros blocs rouges. Ce sont les temps réels qu'il a fallu une certaine partie du code à traiter. Recherchez des modules tiers qui prennent beaucoup de temps ou de mémoire.
Un autre excellent outil est
Le dernier est probablement mon préféré: nouveau relique .
Malheureusement, il s'agit d'un service payant bien qu'ils fournissent un essai gratuit pour les comptes professionnels. Après l'avoir installé sur votre serveur et connecter le profil, attendez quelques heures pour que les données soient utilisées. Assurez-vous qu'il y a du trafic sur la boutique Tho.
Nouvelle relique a aussi Un publication d'un blog sur Comment déboguer Magento < / a> que je peux recommander. Découvrez également le Proxiblue Nouvelle relique Module pour des données de Magento supplémentaires dans la nouvelle relique.
Fondamentalement, cela vous montrera toutes les fonctionnalités décrites ci-dessus comme des requêtes lentes, les processus en PHP, etc. et l'affiche dans des graphes et des tables faciles. Cela devrait vous donner une grande perspicacité dans quelle est la question dans votre installation.
Autres conseils
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-a-speed-up-your-magento-e-commerce-website/
Prendre un gist,
Vous devez vous concentrer sur deux aspects, 1. Optimisation frontale 2. Optimisation backend
-
Vous pouvez installer Fooman Speedster - http:// www.magentocommerce.com/magento-connect/Speedster-by-fooman.html et activer CSS, JS Fusionner
-
activer la mise en cache de bloc magento dans l'administrateur.
-
Activer la compression GZIP
-
Vous pouvez configurer le vernis pour la mise en cache de page complète
-
Activer la complication dans le backend.
-
Activer la structure plate pour le catalogue (catégorie et produits)
Optimisation backend
Voici quelques petites astuces que j'ai trouvées pour vous aider à accélérer votre site et 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>
Puis dans /template/catalog/product/list.phtml
modifiez 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>
Une autre solution consiste à "Pré-Gzip" tous vos fichiers javascripts et CSS, puis à les ajouter à 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 construire une plate-forme de commerce électronique évolutive. J'ai utilisé Magento dans mon dernier projet et j'ai fait face à ce problème de vitesse. Après avoir fait des recherches et une modification, j'ai vraiment accéléré mon site Web.
Optimisation du serveur
- Utilisez NGinx comme serveur Web
- Déplacez MySQL sur un serveur différent avec une réplique maître-esclave. Si vous êtes sur AWS, utilisez RDS pour MySQL.
- Optimiser NGinx & PHP-FPM
- Activer la compression GZIP
- Activer le cache du navigateur
Paramètres Magento
- désactiver toutes les extensions inutiles
- Fusionner des fichiers CSS et JavaScript
- Désactiver le journal
- Nettoyer les tables de journal Magento
- Activer la cache complète externe
Optimisation de l'image et Yslow - Sur une moyenne de 56% du poids de la page d'un site Web est composé d'images. L'optimisation de vos images de produit peut augmenter considérablement la vitesse de vos pages car cela diminue leurs temps de téléchargement. - Scannez votre site Web via GTmetrix ou Pingdom et suivez leurs suggestions d'optimisation.
Vous pouvez lire des détails à ce sujet sur mon site Web:
Si vous êtes sur un environnement d'hébergement partagé, il est très difficile d'obtenir une bonne vitesse car on ne dispose pas de contrôle total sur le serveur et que la ressource est utilisée par plusieurs autres sites Web, mais si vous êtes sur un serveur dédié et que vous disposez d'un accès gratuit. Essayez le cache de vernis.
Autres choses que vous pouvez faire -
1.Combine JS et CSS Fichiers
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
Compression de sortie 2.enable, expire des en-têtes et désactiver les etags dans le fichier .htaccess Voir ce https://stackoverflow.com/a/14745165/3114253
-
Utilisez CDN si possible
-
Utilisez la fonctionnalité de compilation de Magento. Il a été rapporté de vous donner une performance de 25% à 50%: System> Config. > Outils> Compilation.
-
montre moins no. de produit dans la page de la liste des produits.
-
Activer le catalogue plat.
de l'interface administratrice Magento, accédez à System> Configuration> Catalogue. Sous Fronverend, changez d'utiliser une catégorie de catalogue plat vers Oui. Si vous le souhaitez, sous Frontend, changez d'utiliser un produit de catalogue plat vers Oui. Effacer le cache.
Si vous essayez d'accélérer votre frontage:
- Utilisez un CDN pour les images (!) et réduire la taille de l'image
- Concaténate CSS et JS
- charge JS avant la fermeture du corps de fermeture
- Utilisez des JS asynchrones chargant chaque fois que possible
- Utilisez des sprites d'image ou une police d'icône au lieu de milliers de fichiers PNG
- Réduire les CSS inutilisés
- générer un Chemin critique Pour votre CSS
Backend:
- Utilisez un cache supplémentaire comme vernis (TTFB <15ms) ou Leestifpc
- Profil de votre page-Chargement et de votre complexe MySQL requêtes et corrigez-les
- Activez Gzip, Etags, Navigateur-Cache, etc. Via .htaccess
- Utilisez MySQL sur un seul serveur
Pour augmenter la vitesse du site Web de Magento, vous voudrez peut-être d'abord la numériser avec www.gtmetrix.com ou sur Google Page Indications:
Ensuite, vous pouvez décider de ce qui pourrait être fait.Dans la plupart des cas, cela revient à:
- Optimiser l'heure au premier octet (TTFB) sur le serveur inférieurTemps de réponse
- diffuser l'analyse de JavaScript
- Optimiser les images
- Utilisez CSS Sprites
- SET IMAGE DIMENSTINES
- Minify CSS / JS / HTML
- Fusionner JS / CSS à la baisse du nombre de demandes HTTP
pris de 34 façons d'accélérer M1 et M2