Magento 2.2通常非常慢,设置后处理器使用率达到100%:升级


12

我当前Magento 2.2, php7, Apache2Amazon AWS EC2 c4.large实例上运行,但是当我将t2.micro实例用作开发服务器时,通常也可以。

出于某种原因,在运行自定义模块之一中的安装文件之一或安装第三方模块后,偶尔运行setup:upgrade时,我的服务器将变得非常慢,每次尝试时都保持100%cpu的使用率要加载页面,页面加载需要1分钟以上的时间,并且在不加载页面时将保持25%的CPU使用率。它只影响我称为setup:upgrade的magento网站,同一服务器上安装的其他magento上的页面仍将以正常速度加载。

有时可以通过以下方法解决问题:卸下刚刚升级的模块,重新启动服务器,然后重新安装模块,而无需对代码进行任何更改,有时进行第二次设置:upgrade可以解决问题,有时看来,我可以解决的唯一方法是通过完全重新安装Magento 2和模块。

我曾在Magento 2.1.6, 2.1.8, 2.1.9和上发生过这种情况2.2,主题和模块的各种不同组合在默认情况下似乎都不存在开发人员和生产模式的任何问题。

编辑:重要说明
如果您遇到此问题,并且像我一样肯定您从未禁用过缓存,那么从现在开始(Magento 2.3),一个公认的问题是composer update偶尔运行会禁用所有缓存。因此,即使您认为已启用缓存,也值得仔细检查。


c4.large CPU 2 RAM 3.75-这绝对是正常负载。如果您遇到一些代码问题或处于开发人员模式。
MagenX

我的问题是,没有代码问题,即使在开发人员模式下,我也不认为用完全相同的配置加载单个页面要花费几分钟,而在微型服务器上加载只需不到半秒。99%的时间没有问题,并且一切都非常快,但是看似随机地整个安装失败了,直到重新安装且没有任何更改的代码之后,再也没有任何负载。
Kaascroissant

在生产模式下检查,在开发人员模式下即时创建js和css,因此加载将花费一些时间。
Sunil Patel

我知道,但是生产模式仍然存在相同的问题,并且当问题没有发生时,开发人员和默认模式仍然非常快速地加载页面,只是偶尔在运行升级后,无论采用哪种模式,整个服务器的速度都会变得缓慢。
Kaascroissant

有什么解决办法吗?面临着同样的情况
Jilco Tigchelaar '17

Answers:


20

TL; DR:只需打开配置缓存。

更长的故事:

我遇到了同样的问题,并且一直在玩一些。

复制步骤(在开发人员模式下):

  1. 缓存:禁用
  2. 设置:升级
  3. 在浏览器中重新加载前端或后端

使用htop重新加载和监视时,系统会“垃圾邮件”一些PHP进程,从而完全利用所有CPU。这是当我意识到它必须取决于某些缓存设置时。然后我开始关闭其中一些。关闭配置缓存后,该问题立即再次出现。

关闭除配置缓存之外的所有缓存后,所有内容将再次快速运行。


2
我现在感到非常愚蠢,因为我已经为此苦苦挣扎很长时间了,但是我从来没有想过要检查缓存是否已打开。我从未亲自禁用缓存,但是出于某种原因,所有缓存均被禁用。谢谢!
Kaascroissant

3
我已经注意到,如果您运行setup:在默认模式下,升级magento缓存被禁用
Dominic Xigen

4

如果您使用作曲家进行更新,则您的缓存可能已被禁用。这适用于2.3.1以下的版本。只需在Magento根文件夹中使用以下代码即可启用它。

php bin/magento cache:enable


出于某种原因,setup:upgrade 禁用缓存后。很奇怪,但这为我解决了。
BugHunterUK

1

我跟你有同样的情况,我跑:

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

强制M2在开发人员模式下部署静态数据,以便跳过漫长的等待。


0

bin / magento缓存:刷新bin / magento缓存:启用

升级完成后,我将同时执行这两个步骤。该系统仍然被数以百万计的cron工作所淹没,我不知道他们在做什么。但是启用缓存后,世界恢复了和平。到了2020年,Magento为何还不成熟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.