Magento 2.2 geralmente extremamente lento, 100% de uso do processador após a instalação: atualização

12

Atualmente, estou executando Magento 2.2, php7, Apache2em uma Amazon AWS EC2 c4.largeinstância, mas mesmo as instâncias t2.micro geralmente são boas quando o uso como servidor de desenvolvimento.

Por alguma razão, de vez em quando, quando executo a instalação: atualize após atualizar um dos arquivos de instalação em um dos meus módulos personalizados ou após instalar um módulo de terceiros, meu servidor ficará extremamente lento, mantendo-se 100% de uso da CPU sempre que eu tentar para carregar uma página, o carregamento da página leva mais de um minuto e permanecerá com 25% de uso da CPU quando não estiver carregando páginas. Isso afeta apenas o site magento onde chamei de setup: upgrade, páginas em outras instalações magento no mesmo servidor ainda serão carregadas na velocidade normal.

Às vezes, o problema é resolvido removendo o módulo que acabei de atualizar, reiniciando o servidor e reinstalando o módulo sem nenhuma alteração no código, às vezes uma segunda configuração: a atualização corrige o problema e, às vezes, parece que a única maneira de corrigi-lo é reinstalando completamente Magento 2e os módulos.

Eu já tive isso ocorrido Magento 2.1.6, 2.1.8, 2.1.9e 2.2, todos os tipos de combinações diferentes de temas e módulos que nenhum outro parece ter problemas com, por padrão, modo de desenvolvedor e produção.

EDIT: Nota importante
Se você está tendo esse problema e, como eu, tem certeza de que nunca desativou seus caches, existe um problema reconhecido a partir de agora (Magento 2.3), onde a execução composer updateocasionalmente desativa todos os seus caches. Portanto, mesmo que você ache que seus caches estão ativados, vale a pena conferir.

Kaascroissant
fonte
c4.large CPU 2 RAM 3.75 - isso é carga absolutamente normal. se você tiver alguns problemas de código ou no modo de desenvolvedor.
MagenX
Meu problema é que não há problemas de código e, mesmo no modo de desenvolvedor, não acho que demore alguns minutos para uma única página carregar na mesma configuração exata que leva menos de meio segundo para carregar em um micro servidor. Em 99% do tempo, não há problemas e tudo é extremamente rápido, mas aparentemente aleatoriamente toda a instalação falha e nada carrega mais até que seja reinstalada sem nenhuma alteração no código.
Kaascroissant 22/10
Verifique com o modo de produção, no modo de desenvolvimento js e css criado em tempo real, para levar tempo para carregar.
Sunil Patel
Eu sei, mas o modo de produção ainda tem o mesmo problema e, quando o problema não está ocorrendo, o desenvolvedor e o modo padrão ainda carregam as páginas muito rapidamente, apenas ocasionalmente após a atualização, todo o servidor fica lento para um rastreamento, independentemente do modo.
Kaascroissant 25/10
alguma solução? Enfrentando o mesmo ...
Jilco Tigchelaar

Respostas:

20

TL; DR: Basta ativar os caches de configuração.

História mais longa:

Eu tive o mesmo problema e ando brincando um pouco.

Etapas para reproduzir (no modo de desenvolvedor):

  1. cache: desativar
  2. configuração: atualização
  3. recarregar front-end ou back-end em um navegador

Ao recarregar e monitorar com o htop, o sistema 'spams' alguns processos PHP, utilizando totalmente todas as CPUs. Foi então que percebi que isso dependia de algumas configurações de cache. E eu comecei a desligar alguns deles. Depois de desligar os caches de configuração, o problema reapareceu instantaneamente.

Depois de desligar todos os cache, exceto o cache de configuração, tudo corre rápido novamente.

BuzzJoe
fonte
2
Sinto-me extremamente estúpido agora, porque tenho lutado com isso há muito tempo, mas nunca me ocorreu verificar se o cache estava ativado. Eu nunca desativei o cache, mas por algum motivo todos os caches foram desativados. Obrigado!
Kaascroissant
3
Tenho notado no modo padrão, se você executar a instalação: caches Magento de atualização são desativados
Dominic Xigen
4

Se você atualizou usando o compositor, é provável que o cache esteja desativado. Isso se aplica a versões até 2.3.1. Simplesmente habilite-o usando o seguinte código na pasta raiz do Magento.

php bin/magento cache:enable

Abro
fonte
Por algum motivo, após setup:upgrade o cache ser desativado. Muito estranho, mas isso resolveu para mim.
BugHunterUK
1

Eu tenho a mesma situação que você, eu corro:

php bin/magento setup:static-content:deploy -f

forçar o M2 a implantar os dados estáticos no modo de desenvolvedor para ignorar a longa espera.

Ethan L.
fonte
0

cache bin / magento: liberar cache bin / magento: ativar

Eu faço essas duas etapas juntas assim que a atualização é concluída. O sistema ainda está sendo spam por milhões de tarefas cron que eu não tenho ideia do que estão fazendo. Mas o mundo voltou à paz depois que o cache foi ativado. Já é 2020, por que o Magento ainda é imaturo.

AutoBeauty
fonte