私の質問は、複数のmagento cron:run -vvvプロセスが常に実行されていて、MySqlを絶えずヒットしている場合に起こります。
私はGoogle Cloudを介してMagento 2.2.1をセットアップしています。Googleの1クリックのMagentoのインストールを介して事前セットアップされた3つの標準cronジョブがあります。
*/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
top -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分ごとに実行するようにcronを変更しましたが、動作は同じです。
私の最新の変更は、7分ごとと8分ごとに交互に行われ、2つのcron:runジョブが3分と4分間隔で開始し、MySQLから30%〜40%のCPUで一度に1つのcronジョブのみが実行されていました。
私のサイトはまだ立ち上げていないため、現在トラフィックもありません。サイトで何も起こっていないので、Magentoからのこの動作は正常ですか?私は何もせずに12時間そのままにしておきました。上を見ると、cronはまだ実行中でMySQLを攻撃しています。
更新:問題は、問題の原因となっている最初のcron:runプロセスにすぎないことが明らかになりました。2番目と3番目の項目を毎分に戻し、最初の項目を8分のままにして、一度に実行されているcron:runプロセスは1つだけです。以下のコメントから、それはBitnami Magentoのインストールに関する問題である可能性がありますが、これはMagentoでの最初の経験なので、これが予想される動作であるかどうかはわかりません(実際にはそうではないと思います)。
htop
。これで、で10行を超える行があることがわかりmagento cron:run -vvv
ます。一部は数分間ライブされています。cronが期待どおりに実行されない理由を調べてみます。