CPU使用周期性高峰,可能与队列相关?

时间:2016-09-13 00:49:23

标签: laravel laravel-5 supervisord beanstalkd laravel-5.3

我在我的应用程序中添加了一个beanstalk队列(通过supervisor运行)。

我注意到我的CPU使用率是周期性的:

http://i.imgur.com/0Fg1FQl.png

据我所知,队列中没有任何内容。我多次重启beanstalkd。我注意到当我停止所有管理程序进程时,CPU使用率基本上为零。

即使队列中没有任何内容,这是队列的正常行为吗?有没有办法让尖峰不那么严重?

如果有帮助,这是我的主管工作人员配置:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/laravel/artisan queue:work beanstalkd --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true

感谢。

1 个答案:

答案 0 :(得分:0)

简短的回答是,加载相关的PHP文件需要付出很多努力,并检查队列中的新项目,无论队列中是否有任何工作都可以完成。

启用Opcache用于命令行脚本,以及PHP的更快版本(如v7)将有所帮助,并且如果队列中没有作业,则运行之间的睡眠时间会更长,以暂停。