我的问题归结为,是否应该始终运行多个magento cron:run -vvv进程并不断击中MySql。
我正在通过Google Cloud 设置Magento 2.2.1,并且具有3个标准的cron作业,这些作业是通过Google的1单击安装Magento预先设置的。
*/1 * * * * /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/bin/magento cron:run -vvv 2>&1
*/1 * * * * /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/update/cron.php 2>&1
*/1 * * * * /opt/bitnami/php/bin/php /opt/bitnami/apps/magento/htdocs/bin/magento setup:cron:run -vvv 2>&1
从顶部看-c,总是有2个php.bin进程在运行,这些进程一直在访问MySql,并使其始终使用约50%-70%的CPU。这是通常情况的快照。
PID USER PR NI VIRT RES SHR S %CPU %MEM
19327 mysql 20 0 3872884 332876 19172 S 60.8 3.4 332:42.45 /opt/bitnami/mysql/bin/mysqld.bin --defaults-file=/opt/bitnami/mysql/my.cnf --basedir=/opt/bitnami+
26458 bitnami 20 0 679516 476444 64492 S 24.6 4.9 0:24.85 /opt/bitnami/php/bin/php.bin /opt/bitnami/apps/magento/htdocs/bin/magento cron:run -vvv
26415 bitnami 20 0 677532 475672 64588 R 23.6 4.9 1:36.11 /opt/bitnami/php/bin/php.bin /opt/bitnami/apps/magento/htdocs/bin/magento cron:run -vvv
我还更改了权标,使其每5分钟运行一次,而不是每分钟默认运行一次,但是行为保持不变。
我的最新更改是每7分钟和8分钟交替运行2个cron:run作业,分别从3分钟和4分钟开始,并且一次仅运行1个cron作业,而MySQL的CPU占30%-40%。
我的网站目前也没有流量,因为我还没有启动它。Magento的这种行为是否正常,因为该网站没有任何反应?我让它坐了12个小时,什么也没做,当我看到顶部时,cron仍在运行并重击MySQL。
更新:现在很清楚,问题只是引起问题的第一个cron:run进程。我将第二项和第三项改回了每分钟,而第一项则保留了8分钟,一次只运行了一个cron:run进程。从下面的评论可能是Bitnami Magento安装的问题,但这是我第一次使用Magento,因此我不知道这是否是预期的行为(我希望不是)。
htop
。有了它,我看到,我有十几行用magento cron:run -vvv
。有些已经直播了几分钟。我将尝试找出为什么cron无法按预期运行。