Magento 2.2 souvent extrêmement lent, 100% d'utilisation du processeur après l'installation: mise à niveau

12

J'exécute actuellement Magento 2.2, php7, Apache2sur une Amazon AWS EC2 c4.largeinstance, mais même les instances t2.micro sont généralement correctes lorsque je l'utilise comme serveur de développement.

Pour une raison quelconque, de temps en temps, lorsque j'exécute le programme d'installation: mettez à niveau après la mise à jour de l'un des fichiers de configuration dans l'un de mes modules personnalisés ou après l'installation d'un module tiers, mon serveur deviendra extrêmement lent, restant à 100% d'utilisation du processeur chaque fois que j'essaierai pour charger une page, le chargement de la page prend 1 minute +, et restera à 25% d'utilisation du processeur lorsqu'il ne charge pas les pages. Cela n'affecte que le site Web de magento où j'ai appelé configuration: mise à niveau, les pages des autres installations de magento sur le même serveur se chargeront toujours à vitesse normale.

Parfois, le problème est résolu en supprimant le module que je viens de mettre à niveau, en redémarrant le serveur, puis en réinstallant le module sans aucune modification du code, parfois une deuxième configuration: la mise à niveau résout le problème, et parfois il semble que la seule façon de le résoudre est en réinstallant complètement Magento 2et les modules.

J'ai eu cela sur Magento 2.1.6, 2.1.8, 2.1.9et sur 2.2toutes sortes de combinaisons différentes de thèmes et de modules avec lesquels personne d'autre ne semble avoir de problème avec, par défaut, le développeur et le mode de production.

EDIT: Remarque importante
Si vous rencontrez ce problème et que vous êtes certain, comme moi, que vous n'avez jamais désactivé vos caches, il existe un problème reconnu en ce moment (Magento 2.3) où l'exécution composer updateoccasionnelle désactive tous vos caches. Donc, même si vous pensez que vos caches sont activés, cela vaut la peine de vérifier à nouveau.

Kaascroissant
la source
c4.large CPU 2 RAM 3,75 - c'est une charge absolument normale. si vous avez des problèmes de code ou en mode développeur.
MagenX
Mon problème est qu'il n'y a pas de problèmes de code et même en mode développeur, je ne pense pas que cela devrait prendre quelques minutes pour qu'une seule page se charge dans la même configuration exacte qu'il faut moins d'une demi-seconde pour charger sur un micro serveur. 99% du temps, il n'y a pas de problèmes et tout est extrêmement rapide, mais apparemment au hasard, l'installation entière tombe en panne et rien ne se charge plus jusqu'à ce qu'elle soit réinstallée sans aucune modification du code.
Kaascroissant du
Vérifiez avec le mode de production, en mode de développement js et css créés à la volée afin que le chargement prenne du temps.
Sunil Patel,
Je sais, mais le mode de production a toujours le même problème, et lorsque le problème ne se produit pas, le développeur et le mode par défaut chargent toujours les pages très rapidement, juste à l'occasion après l'exécution de la mise à niveau, le serveur entier est ralenti à une analyse quel que soit le mode.
Kaascroissant
des sollutions? Face à la même chose ...
Jilco Tigchelaar

Réponses:

20

TL; DR: Allumez simplement les caches de configuration.

Histoire plus longue:

J'ai eu le même problème et j'ai joué un peu.

Étapes à reproduire (en mode développeur):

  1. cache: désactiver
  2. configuration: mise à niveau
  3. recharger le frontend ou le backend dans un navigateur

Lors du rechargement et de la surveillance avec htop, le système «spams» certains processus PHP, utilisant totalement tous les CPU. C'est à ce moment que j'ai réalisé que cela devait dépendre de certains paramètres de cache. Et j'ai commencé à en désactiver certains. Après avoir désactivé les caches de configuration, le problème est réapparu instantanément.

Après avoir désactivé tous les caches, à l'exception du cache de configuration, tout fonctionne à nouveau rapidement.

BuzzJoe
la source
2
Je me sens extrêmement stupide en ce moment parce que je lutte avec cela depuis très longtemps, mais je n'ai jamais pensé à vérifier si le cache était activé. Je ne désactive jamais le cache moi-même, mais pour une raison quelconque, tous les caches ont été désactivés. Je vous remercie!
Kaascroissant
3
J'ai remarqué en mode par défaut si vous exécutez le programme d'installation: les caches de mise à niveau de Magento sont désactivés
Dominic Xigen
4

Si vous avez mis à jour à l'aide de composer, il est probable que votre cache soit désactivé. Cela s'applique aux versions jusqu'à 2.3.1. Activez-le simplement en utilisant le code suivant dans le dossier racine de Magento.

php bin/magento cache:enable

Abro
la source
Pour une raison quelconque, après setup:upgrade la désactivation du cache. Très étrange, mais cela l'a résolu pour moi.
BugHunterUK
1

J'ai la même situation que toi, je cours:

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

pour forcer M2 à déployer les données statiques en mode développeur afin d'éviter la longue attente.

Ethan L.
la source
0

cache bin / magento: vider le cache bin / magento: activer

Je fais ces deux étapes ensemble dès que la mise à niveau est terminée. Le système est toujours pollué par des millions de tâches cron que je n'ai aucune idée de ce qu'ils font. Mais le monde est revenu à la paix une fois le cache activé. C'est déjà 2020, pourquoi Magento est encore immature.

AutoBeauty
la source