Risposte:
Innanzitutto determinare se il rendering del front-end o l'esecuzione effettiva dello script sono lenti. Verificare con la console degli sviluppatori nel browser il Time To First Byte . Questo è il tempo impiegato dallo script per l'elaborazione sul server
Nella schermata puoi vedere che è abbastanza basso (200ms), quindi in questo caso il problema non sarebbe sul server ma sul front-end. Ora, se è finita, diciamo, un secondo che potresti voler ottimizzare.
Prima di dare uno schiaffo ad alcuni booster e alla cache aggiuntiva che non è una correzione, solo una patch o un cerotto per nascondere il vero problema, prova a capire cosa è esattamente lento. È possibile utilizzare diversi strumenti anche per questo.
Query lente
Magento può essere piuttosto pesante nel database, quindi l'attivazione del registro delle query lente potrebbe essere un buon punto di partenza. Dai un'occhiata a questo post su come accenderlo. Il registro mostra tutte le query che richiedono più di X secondi.
profilers
I profiler ti aiutano a ottenere informazioni su ciò che accade nel tuo codice. Per Magento consiglierei di iniziare con Aoe_Profiler . Basta installarlo e accenderlo. Sul front-end ti darà un output come questo:
Espandi i risultati e verifica la presenza di grandi blocchi rossi. Quelli sono i tempi effettivi per l'elaborazione di una determinata parte del codice. Cerca eventuali moduli di terze parti che richiedono molto tempo o memoria.
Un altro ottimo strumento è il fuoco nero . Poiché Aoe_Profiler è un modulo in Magento non mostra i processi php sottostanti e può bloccarsi su grandi installazioni con molti moduli. Black Fire funziona sul server. Con un hackathon abbiamo creato una scatola di Vagrant con fuoco nero che puoi usare. Metti lì il tuo progetto e accendilo. Controlla il sito di Black Fire per maggiori informazioni su come usarlo.
L'ultimo è probabilmente il mio preferito: New Relic .
Sfortunatamente è un servizio a pagamento sebbene forniscano una prova gratuita per account pro. Dopo averlo installato sul tuo server e aver collegato il profilo, attendi un paio d'ore prima che arrivino i dati. Assicurati che ci sia del traffico nello shop.
New Relic ha anche un post sul blog su come eseguire il debug di Magento che posso consigliare. Dai un'occhiata anche al modulo ProxiBlue New Relic per ulteriori dati Magento in New Relic.
Fondamentalmente questo ti mostrerà tutte le funzionalità sopra descritte come query lente, i processi in PHP ecc. E le visualizzerà in semplici grafici e tabelle. Questo dovrebbe darti un'idea approfondita di qual è il problema nella tua installazione.
E da qui Ora che sai cosa sta causando le basse prestazioni puoi passare a risolverlo. Controlla forum come questo o Google per la parte o il modulo di Magento che è lento. Molti problemi sono ben noti e altri l'hanno risolto in precedenza. Oppure, se non riesci a trovare una soluzione pubblica la tua domanda qui e includi i risultati nella domanda
L'ottimizzazione della velocità del sito in Magento è un argomento molto vasto. Questo è un link che può aiutarti,
http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/
Dandogli un'idea,
È necessario concentrarsi su due aspetti: 1. Ottimizzazione del frontend 2. Ottimizzazione del backend
Ottimizzazione del frontend
Puoi installare Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html e abilitare css, js merge
Abilita la memorizzazione nella cache dei blocchi Magento in admin.
Abilita la compressione Gzip
Ottimizzazione del backend
È possibile configurare Varnish per la memorizzazione nella cache a pagina intera
Abilita complicazione nel backend.
Abilita struttura piatta per catalogo (categoria e prodotti)
Ecco un paio di piccoli trucchi che ho trovato per velocizzare il tuo sito che potresti voler provare:
Rinvia il caricamento delle immagini aggiungendo questo al file /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>
Quindi, /template/catalog/product/list.phtml
cambia i tuoi collegamenti immagine in questo modo:
<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 altro è "Pre Gzip" di tutti i tuoi javascript e file CSS, quindi aggiungilo al tuo .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 è un ottimo framework di e-commerce. Ha tonnellate di funzionalità e puoi davvero costruire una piattaforma di e-commerce scalabile. Ho usato Magento nel mio ultimo progetto e ho affrontato questo problema di velocità. Dopo aver fatto qualche ricerca e modifica, ho velocizzato il mio sito web.
Ottimizzazione del server
Impostazioni Magento
Installa Redis Cache, APC Opcode ed estensione Cache a pagina intera - Installa acceleratori PHP - Installa cache Redis per backend e cache di sessione - Installa Lesti FPC
Ottimizzazione delle immagini e YSlow : in media il 56 percento del peso della pagina di un sito Web è costituito da immagini. L'ottimizzazione delle immagini dei tuoi prodotti può aumentare notevolmente la velocità delle tue pagine in quanto riduce i tempi di download. - Scansiona il tuo sito Web tramite gtmetrix o Pingdom e segui i loro suggerimenti di ottimizzazione.
Usa CDN
Puoi leggere i dettagli a riguardo sul mio sito web: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/
se ti trovi in un ambiente di hosting condiviso è molto difficile raggiungere una buona velocità poiché non si ha il controllo completo sul server e la risorsa viene utilizzata da molti altri siti Web, ma se si è su un server dedicato e si dispone dell'accesso completo per l'amministratore, provare la cache di vernice .
altre cose che puoi fare -
1. Combina i file JS e 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.Attiva la compressione di output, scade le intestazioni e disabilita gli ETag nel file .htaccess vedi questo /programming//a/14745165/3114253
Utilizzare CDN se possibile
Usa la funzione Compilation di Magento. È stato riferito che ti darà un aumento delle prestazioni del 25% -50%: Sistema> Config. > Strumenti> Compilazione.
Mostra meno del prodotto nella pagina di elenco dei prodotti.
Abilita catalogo flat.
Dall'interfaccia amministratore di Magento, vai su Sistema> Configurazione> Catalogo. In Frontend, modifica Usa categoria catalogo semplice su SÌ. Se lo si desidera, in Frontend, modificare Usa prodotto catalogo piatto su SÌ. Cancella la cache.
Se provi ad accelerare il tuo frontend:
backend:
Per aumentare la velocità del sito Web di Magento, potresti voler prima scansionarlo con www.gtmetrix.com o Google Page Speed Insights:
allora puoi decidere cosa si potrebbe fare. Nella maggior parte dei casi si tratta di:
Tratto da 34 modi per velocizzare M1 e M2