Primeiro, você precisa decidir o que está testando, seja apenas o tempo de renderização do PHP - ou o tempo de carregamento da página no mundo real.
Em qualquer um dos cenários, o uso do firebug não será confiável - já que a sua conexão à Internet pode ser o gargalo ou o motivo da instabilidade.
Tempo de renderização do PHP
Se você está olhando apenas para ver se o tempo de renderização do PHP melhorou / mudou - a maneira mais precisa é usar a saída do criador de perfil Magento.
Em index.php
, descomente
Varien_Profiler::enable();
Então em
Admin> Sistema> Configuração> Desenvolvedor
Verifique se o criador de perfil está ativado.
Você terá uma saída tabular na parte inferior de todas as páginas (front-end e back-end), detalhando o tempo de carregamento da página, medido a partir do ponto de Mage::run()
início. A primeira linha indicará o tempo total de renderização do PHP (no Mage).
Esse será o número mais preciso em termos de estabelecer se as alterações no PHP estão fazendo diferença no tempo de carregamento da página, sem mencionar que ele identificará qualquer gargalo de desempenho.
Tempo de renderização do servidor Web PHP
O próximo tipo de teste é levar em consideração as despesas gerais do próprio servidor da web (mas não a conectividade de última milha). Portanto, para que este teste seja preciso e não seja influenciado pela própria 'internet' - você deve executá-lo no próprio servidor da web.
Utilizamos nosso próprio utilitário mage-perftest
(mais informações podem ser encontradas aqui ) - que podem testar o tempo de renderização puro do PHP, o tempo de carregamento da página no mundo real e até mesmo testes de simultaneidade.
Para testar apenas o tempo de renderização do servidor web PHP, você usaria (substitua a URL de acordo)
./mage-perftest -u me-s1.sonassihosting.com -b
Este teste fornecerá uma análise detalhada do tempo de carregamento da página (apenas para o elemento PHP da página, ignorando JS / CSS / Images). A saída é algo como isto,
Test Summary
============
Total files: 1
Total downloaded: 4K
Avg. page weight: 4.00K
Total time: 0.035s
Min response: 0.035s
Max response: 0.035s
Avg. page response: 0.03s
Concurrency/Repeats: 1
Transactions/s 28.57
Test URL: me-s1.sonassihosting.com
Success rate: 1/1 (100.00%)
Tempo de renderização do servidor web do mundo real
O tipo final de teste é o tempo que leva para baixar a página inteira (PHP + conteúdo estático). Novamente, você pode usar mage-perftest
para fazer isso, por exemplo.
./mage-perftest -u me-s1.sonassihosting.com
Evite qualquer serviço de teste on-line como a praga
Existem algumas ferramentas de teste de velocidade on-line, como GTMetrix, Pingdom etc. Isso não fornece nenhum tipo de resultado preciso para a criação de perfis granulares.
Eles têm seu lugar em termos de teste de conectividade de rede externa, mas são completamente inúteis como forma de verificar o desempenho real do PHP. Atenha-se a testes locais / no servidor para isso.
Outras notas
Escrevemos um artigo sobre teste remoto e por que você deve evitá-lo,
http://www.sonassi.com/knowledge-base/magento-kb/why-siege-isnt-an-accurate-test-tool-for-magento- desempenho/
Executar o Magento em um VPS é uma má idéia. Outros podem discordar - mas não é um ambiente adequado para uma loja Magento por várias razões - e respondemos muitas perguntas nesse sentido, aqui estão algumas
mage::dispatch::routers_match
emage::dispatch::controller::action::predispatch
parece ser um gargalo, embora eu não tenho certeza do que a solução não é ... a pesquisa não chegar a tanto.mage::dispatch::routers_match
, respondendo por 22s sobre um carregamento de página 28s. Na mesma carga, também hámage::dispatch::controller::action::predispatch
22s,CORE::create_object_of::Mage_Core_Model_Session
21s eMage_Core_Model_Session_Abstract_Varien::start/start
21s. Eu tenho certeza que há alguma coisa de pai / filho acontecendo, mas com orouters_match
ser o mais longo, eu estou supondo que isso é o pai dos outros 20 funções segundasMage
, levará mais tempo, pois inclui tudo;Routers_Match
é basicamente a próxima função que chama, da qual tudo é gerado. Não é o gargalo, mas algo que está chamando (veja mais abaixo) é. Não abra mais de uma janela se estiver criando um perfil - isso não vai conseguir nada.Routers_Match
há:DISPATCH EVENT:controller_action_predispatch
às 21.0710 eOBSERVER: log
às 21.0565Provavelmente é um problema do servidor e não um problema do Magento. Dependendo do tipo de servidor usado, você pode obter um tempo de carregamento de menos de um segundo. Você pode até executar testes mais sofisticados aqui: http://www.magespeedtest.com/ . Você também pode revisar a velocidade de outros provedores de servidor lá.
Eu recomendaria também usar o relatório em cascata de http://www.webpagetest.org/ e ver de onde exatamente sua "lentidão" pode estar vindo. Ele o dividirá em partes (como quanto tempo leva para baixar cada arquivo css, js e imagem), o que pode ajudá-lo a melhorar a velocidade.
Dito isto, mesmo se você otimizar o código, css, js, imagens e conteúdo Magento ao máximo, o servidor sempre será o maior problema. Eu recomendaria o uso de um provedor de hospedagem Magento, pois eles têm seus servidores mais ajustados para ajudar o Magento. Pessoalmente, eu uso o Nexcess, mas outros sobre os quais ouvi coisas boas são o Sonassi Hosting e o Peer1.
Existem alguns artigos sobre como melhorar a velocidade, eu recomendaria a leitura das páginas em branco no site Magento.
Embora seja mais voltado para o Enterprise, você ainda pode se beneficiar de muitos conselhos. Além disso, mantenha o Magento atualizado! Você não deve cair mais do que duas versões da versão atual.
fonte