A velocidade de carregamento do site é muito lenta

25

A velocidade de carregamento da página do site Magento do meu cliente é muito lenta. O que posso fazer para diminuir o tempo de carregamento da página?

O URL do site é desibazaar.pk.

Shehryar
fonte

Respostas:

36

Primeiro, determine se a renderização do front-end ou a execução real do script é lenta. Verifique com o console do desenvolvedor em seu navegador o Tempo até o primeiro byte . É quanto tempo o script leva para processar no servidor

insira a descrição da imagem aqui

Na captura de tela, você pode ver que é bastante baixo (200ms); nesse caso, o problema não estaria no servidor, mas no front-end. Agora, se acabou, digamos, um segundo que você queira otimizar.

Antes de aplicar alguns boosters e cache extra, o que não é uma correção, apenas um patch ou band-aid para ocultar o problema real e tente descobrir exatamente o que é lento. Você pode usar várias ferramentas também para isso.

Consultas lentas

O Magento pode ser bastante pesado no banco de dados, portanto, ativar o Slow Query Log pode ser um bom lugar para começar. Confira este post sobre como ativá-lo. O log mostrará qualquer consulta que demore mais de X segundos.

Profilers

Os criadores de perfil ajudam você a entender o que está acontecendo no seu código. Para Magento, eu recomendaria começar com Aoe_Profiler . Basta instalá-lo e ligá-lo. No front-end, você terá uma saída como esta:

insira a descrição da imagem aqui

Expanda os resultados e verifique se há grandes blocos vermelhos. Esses são os momentos reais em que uma determinada parte do código foi processada. Fique atento aos módulos de terceiros que estão consumindo muito tempo ou memória.

Outra ótima ferramenta é o fogo preto . Como Aoe_Profiler é um módulo no Magento, ele não mostra os processos php subjacentes e pode falhar em grandes instalações com muitos módulos. Fogo negro é executado no servidor. Com um hackathon, montamos uma caixa Vagrant com fogo preto que você pode usar. Basta colocar seu projeto lá e iniciá-lo. Verifique o site do Black Fire para obter mais informações sobre como usá-lo.

O último é provavelmente o meu favorito: New Relic .

Infelizmente, é um serviço pago, embora eles ofereçam um teste gratuito para contas profissionais. Após instalá-lo no servidor e conectar o perfil, aguarde algumas horas para a chegada dos dados. Verifique se há algum tráfego na loja.

insira a descrição da imagem aqui

A New Relic também tem um post sobre como depurar o Magento, que eu recomendo. Verifique também o módulo ProxiBlue New Relic para obter dados adicionais do Magento na New Relic.

Basicamente, isso mostrará todos os recursos descritos acima, como consultas lentas, os processos em PHP, etc, e exibirá em gráficos e tabelas fáceis. Isso deve fornecer uma ótima visão sobre qual é o problema em sua instalação.

E a partir daqui Agora que você sabe o que está causando o baixo desempenho, pode avançar para resolvê-lo. Verifique fóruns como este ou o Google para ver a parte ou módulo do Magento lento. Muitos problemas são bem conhecidos e outros já o resolveram antes. Ou, se você não encontrar uma solução, poste sua pergunta aqui e inclua suas descobertas na pergunta

Sander Mangel
fonte
Excelente .. Obrigado pela visão sobre "BlackFire"
Rajeev K Tomy
11

A otimização da velocidade do site no Magento é um tópico muito vasto. Este é um link que pode ajudá-lo,

http://www.gxjansen.com/blog/101-ways-to-speed-up-your-magento-e-commerce-website/

Tomando uma essência disso,

Você precisa se concentrar em dois aspectos: 1. Otimização de front-end 2. Otimização de back-end

Otimização de front-end

  1. Você pode instalar o Fooman Speedster - http://www.magentocommerce.com/magento-connect/speedster-by-fooman.html e ativar o css, js merge

  2. Ative o cache do bloco Magento no admin.

  3. Ativar compactação Gzip

Otimização de back-end

  1. Você pode configurar o Varnish para o cache de página inteira

  2. Ativar complicação no back-end.

  3. Ativar estrutura plana para catálogo (categoria e produtos)

huzefam
fonte
1

Aqui estão alguns truques que encontrei para ajudar a acelerar o site, que você pode querer experimentar:

Adie o carregamento da imagem adicionando-o ao /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>

Em seguida, /template/catalog/product/list.phtmlaltere os links da sua imagem assim:

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

Outro é "Pre Gzip" todos os seus javascripts e arquivos CSS e depois adicionar isso ao seu .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
fonte
1

Magento é uma ótima estrutura de comércio eletrônico. Ele tem muitos recursos e você pode realmente criar uma plataforma de comércio eletrônico escalável. Usei o Magento no meu projeto mais recente e enfrentei esse problema de velocidade. Depois de fazer algumas pesquisas e modificações, eu realmente acelerei meu site.

Otimização do servidor

  • Use o Nginx como servidor da web
  • Mova o MySQL para outro servidor com réplica master-slave. Se você estiver na AWS, use o RDS for MySQL.
  • Otimize Nginx e Php-fpm
  • ativar compactação gzip
  • Ativar cache do navegador

Configurações do Magento

  • Desativar todas as extensões desnecessárias
  • Mesclar arquivos CSS e JavaScript
  • Desativar log
  • Limpar tabelas de log do Magento
  • Ativar cache de página inteira externo

Instale o Redis Cache, o APC Opcode e a extensão de cache de página inteira - Instale aceleradores PHP - Instale o cache Redis para back-end e cache de sessão - Instale o Lesti FPC

Otimização de imagem e YSlow - em média, 56% do peso da página de um site é composto de imagens. A otimização das imagens do produto pode aumentar drasticamente a velocidade das suas páginas, pois isso diminui o tempo de download. - Examine seu site através do gtmetrix ou Pingdom e siga as sugestões de otimização.

Use CDN

Você pode ler detalhes sobre isso no meu site: http://www.ranjeetvimal.com/tips-to-speed-up-magento-1-9-performance/

Ranjeet Vimal
fonte
0

se você estiver em um ambiente de hospedagem compartilhada, é muito difícil obter uma boa velocidade, pois não há controle total sobre o servidor e o recurso é usado por vários outros sites, mas se você estiver em um servidor dedicado e tiver acesso total de administrador, tente cache de verniz .

outras coisas que você pode fazer -

1. Combine arquivos 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. Ative a compactação de saída, expire cabeçalhos e desative ETags no arquivo .htaccess, consulte este /programming//a/14745165/3114253

  1. Use CDN se possível

  2. Use o recurso Compilação do Magento. É relatado um aumento de desempenho de 25% a 50%: Sistema> Configuração. > Ferramentas> Compilação.

  3. Mostrar menor não. do produto na página de listagem de produtos.

  4. Ativar catálogo simples.

Na interface do administrador do Magento, vá para Sistema> Configuração> Catálogo. Em Frontend, altere Use Flat Catalog Category para YES. Se desejar, em Frontend, altere Use Flat Catalog Product para YES. Limpe o cache.

Arun Karnawat
fonte
0

Se você tentar acelerar seu front-end:

  • use um CDN para imagens (!) e reduza o tamanho da imagem
  • concatenar CSS e JS
  • carregar JS antes da tag do corpo de fechamento
  • use o carregamento js assíncrono sempre que possível
  • use sprites de imagem ou uma fonte de ícone em vez de milhares de arquivos png
  • reduzir CSS não utilizado
  • gerar um caminho crítico para o seu css

Back-end:

  • use um cache adicional como verniz (TTFB <15ms) ou LestiFpc
  • perfil suas consultas MySQL de carregamento de página e complexas e corrija-as
  • ativar gzip, etags, cache do navegador etc. via .htaccess
  • use o MySQL em um único servidor
upandfine
fonte
Não vincule a serviços pagos com o URL do seu convite para seu próprio ganho pessoal.
7ochem
0

Para aumentar a velocidade do site magento, primeiro você deve digitalizá-lo com www.gtmetrix.com ou Google Page Speed ​​Insights:

Índice de velocidade da página do Google

então você pode decidir o que pode ser feito. Na maioria dos casos, tudo se resume a:

  • otimizar o tempo até o primeiro byte (TTFB) para reduzir o tempo de resposta do servidor
  • adie a análise de Javascript
  • otimizar imagens
  • usar sprites CSS
  • definir dimensões da imagem
  • reduzir CSS / JS / HTML
  • mesclar JS / CSS para diminuir o número de solicitações HTTP

Tomadas de 34 maneiras de acelerar M1 e M2

Konstantin Gerasimov
fonte