Magento 2.2 часто очень медленный, 100% загрузка процессора после установки: обновление

12

В настоящее время я работаю Magento 2.2, php7, Apache2с Amazon AWS EC2 c4.largeэкземпляром, но даже экземпляры t2.micro обычно работают нормально, когда я использую его в качестве сервера разработки.

По какой-то причине время от времени, когда я запускаю программу установки: обновляйте после обновления одного из файлов установки в одном из моих пользовательских модулей или после установки стороннего модуля, мой сервер будет работать очень медленно, сохраняя 100% загрузку процессора при каждой попытке для загрузки страницы загрузка страницы занимает 1 минуту + и при загрузке страниц останется 25% загрузки процессора. Это влияет только на веб-сайт magento, где я назвал setup: обновление, страницы других установок magento на том же сервере будут по-прежнему загружаться с нормальной скоростью.

Иногда проблема устраняется путем удаления только что обновленного модуля, перезапуска сервера, а затем переустановки модуля без каких-либо изменений в коде, иногда со второй установкой: обновление устраняет проблему, а иногда кажется, что единственный способ ее исправить - путем полной переустановки Magento 2и модулей.

У меня было это происходит на Magento 2.1.6, 2.1.8, 2.1.9и 2.2все виды различных комбинаций тем и модулей , которые никто больше не кажется, есть какие - либо проблемы с, по умолчанию, разработчиком и режим производства.

РЕДАКТИРОВАТЬ: Важное примечание
Если у вас возникла эта проблема, и вы, как и я, уверены, что никогда не отключали свои кеши, на данный момент существует признанная проблема (Magento 2.3), когда запуск composer updateиногда отключает все ваши кеши. Поэтому, даже если вы думаете, что ваши кеши включены, стоит перепроверить.

Kaascroissant
источник
c4.large CPU 2 RAM 3.75 - это абсолютно нормальная нагрузка. если у вас есть проблемы с кодом или в режиме разработчика.
MagenX
Моя проблема в том, что нет проблем с кодом, и даже в режиме разработчика, я не думаю, что для загрузки одной страницы в точно такой же конфигурации требуется несколько минут, а для загрузки на микросервер требуется менее половины секунды. В 99% случаев проблем не возникает, и все происходит очень быстро, но, по-видимому, случайным образом вся установка ломается и больше ничего не загружается, пока не будет переустановлена ​​без каких-либо изменений в коде.
Kaascroissant
Проверьте с производственным режимом, в режиме develoeper js и css, созданные на лету, так что это займет время для загрузки.
Сунил Патель
Я знаю, но в производственном режиме все еще есть та же проблема, и когда проблема не возникает, разработчик и режим по умолчанию все еще загружают страницы очень быстро, лишь иногда после запуска обновления весь сервер замедляется до обхода независимо от режима.
Кааскройссант
какие-нибудь решения? Столкнувшись с тем же ...
Джилко Тигчелаар

Ответы:

20

TL; DR: просто включите кэши конфигурации.

Более длинная история:

У меня была та же проблема, и я немного поиграл.

Шаги для воспроизведения (в режиме разработчика):

  1. Кэш: отключить
  2. Установка: обновление
  3. перезагрузить интерфейс или бэкэнд в браузере

При перезагрузке и мониторинге с помощью htop система «спамит» некоторые процессы PHP, полностью используя все процессоры. Это когда я понял, что это должно зависеть от некоторых настроек кэша. И я начал выключать некоторые из них. После отключения кешей конфигурации проблема снова возникла мгновенно.

После отключения всех кешей, кроме кеша конфигурации, все снова работает быстро.

BuzzJoe
источник
2
Я чувствую себя чрезвычайно глупо сейчас, потому что я боролся с этим очень долго, но мне никогда не приходило в голову проверить, был ли включен кеш. Я никогда не отключал кеш самостоятельно, но по какой-то причине все кеши были отключены. Спасибо!
Кааскройссан
3
Я заметил, что в режиме по умолчанию, если вы запускаете установку: кэши обновлений magento отключены
Dominic Xigen
4

Если вы обновили с помощью composer, то, вероятно, ваш кеш отключен. Это относится к версиям до 2.3.1. Просто включите его, используя следующий код в корневой папке Magento.

php bin/magento cache:enable

Abro
источник
По какой-то причине после setup:upgrade отключения кеша. Очень странно, но это решило это для меня.
BugHunterUK
1

У меня такая же ситуация, как и у вас, я бегу

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

заставить M2 развернуть статические данные в режиме разработчика, чтобы пропустить долгое ожидание.

Этан Л.
источник
0

кэш bin / magento: очистить кэш bin / magento: включить

Я делаю эти два шага вместе, как только обновление завершено. Система по-прежнему спамит миллионами рабочих мест cron, которые я понятия не имею, что они делают. Но мир вернулся к миру после включения кеша. Уже 2020 год, почему Magento все еще незрелый.

AutoBeauty
источник