Estou executando várias lojas Magento CE e as acelero com cache, no entanto, o carrinho e o checkout ainda permanecem lentos. Alguém tem experiência ou dicas para acelerar essas páginas?
Talvez através da otimização do banco de dados?
Algumas consultas foram executadas ao salvar um pedido no checkout e aparecem no log lento de consultas no servidor, e o banco de dados parece ser o gargalo.
configuration
performance
Sander Mangel
fonte
fonte
Respostas:
Por experiência pessoal, desative o módulo Mage_Rss, que força um 'cache limpo' 4 vezes no processo de checkout - muito caro se você estiver usando o cache do sistema de arquivos, provavelmente ainda caro se você estiver usando o banco de dados ou o cache de memórias.
Desabilitar apenas Mage_Downloadable da CE por razões semelhantes, desde que você não esteja usando o produto para download, isso agilizará as ações de checkout e carrinho quando você tiver vários itens no carrinho, pois existem observadores sobre coisas como o
checkout_type_onepage_save_order_after
que multiplicam o tempo de resposta pelo número de itens no carrinho.Conecte o xhprof / xhgui e faça alguns perfis.
fonte
Module "Enterprise_PricePermissions" requires module "Mage_Downloadable
Ambas as alterações terão um impacto enorme no desempenho, pois impedem o Magento de liberar caches e reindexar toda vez que um pedido é processado.
Porém, o custo pode ser que o conteúdo seja obsoleto - níveis de estoque etc.
fonte
Se você quiser resolvê-lo da maneira experimental, há uma extensão da primeira hackathon magento em munique, alemão:
https://github.com/magento-hackathon/MongoDB-OrderTransactions
Eles enfileiram os pedidos em um mongo db, a idéia era, se o servidor mysql estiver livre de carga para escrevê-los de volta. Mas não sei até que ponto esse projeto está pronto. Afaik trabalha toda a escrita, mas não a escrita posterior.
fonte
Eu não conheço sua versão do Magento CE com a qual você está lutando. Mas tive sérios problemas de desempenho com o meu CE 1.6.
Razão: índices errados e ausentes. Eles foram corrigidos no CE 1.6.2.
Você pode verificar se isso ajuda.
Reduzi o tempo de check-out de 38 linhas com um total de 73 itens de 123 para 4 segundos !!!!
Aqui vem:
fonte
A melhor maneira de acelerar as operações de grandes bancos de dados é ter seu banco de dados em seu próprio servidor, otimizado para uso do banco de dados. Não há muito que possa ser aprimorado na área de checkout em termos de código (embora certos tipos de produtos, como o Configurable, possam realmente atrapalhar o processo de cotação), pois muito pouco pode ser armazenado em cache com segurança.
fonte
Talvez divida as leituras e as gravações no seu banco de dados. Você precisará configurar a replicação quase imediata, o que sempre me preocupa em fazê-lo, embora outros possam ter mais informações sobre a melhor forma de configurá-lo.
fonte