
以下を使用してインストールしましたsupervisord
。
sudo apt-get install supervisor
私のUbuntu 14.04サーバーで次のガイドラインに従ってください。ララベル文書。
supervisorctl
私のサーバーのプロセスは常に非常に高い使用量(80%未満ではなく、通常99%)で実行されていることを確認しました。
私のワーカーconfファイルの内容は次のとおりです。
[program:interactions-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/interactions/current/artisan queue:listen sqs --sleep=3 --tries=3
autostart=true
autorestart=true
user=ubuntu
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/interactions/storage/worker.log
このプロセスがそれほど多くのリソースを占める原因は何ですか?
答え1
autorestart
ディレクティブ
RUNNING状態で終了したときにSupervisordがプロセスを自動的に再起動するかどうかを指定します。
(源泉:http://supervisord.org/configuration.html)
言い換えれば、PHPページが処理されると...インタプリタが終了し...すべてが再開され...再び...など。これは予想されることですか?
答え2
Supervisorのバージョンは何ですか?以前の監督者は、CPU使用量が多い問題があるようです。
laravel キューワーカーの場合、次のように queue:work --daemon を使用して CPU の影響を軽減します。https://laravel.com/docs/5.1/queues#daemon-queue-listener
queue:work Artisanコマンドには、キューワーカースレッドがフレームワークを再起動せずにジョブを処理し続けるように強制する --daemon オプションが含まれています。これにより、queue:listenコマンドと比較してCPU使用率が大幅に削減されます。