首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么队列工作人员在使用supervisord运行时非常慢?

为什么队列工作人员在使用supervisord运行时非常慢?
EN

Stack Overflow用户
提问于 2015-07-05 01:45:00
回答 1查看 1.5K关注 0票数 1

我有一个beanstalkd队列实现。我已经创建了一个基准测试工具来测试我的队列处理时间。当我在终端选项卡中打开PHP worker时,如下所示:

代码语言:javascript
运行
复制
php artisan queue:work --daemon --sleep=0

完成我所有的工作大约需要8秒。如果我打开总共4个终端选项卡,运行上面的代码行,然后用同样的负载再次测试,大约需要2秒。这是很棒的。

然而,当我使用supervisord运行我的工作进程时,它需要大约7-8秒来处理相同的负载,4个工作进程。即使我将我的工人增加到20人,我也看不到任何影响。有时我看到增加工作时间有负面影响(11秒)。我确信所有20个工人都在运行。

那么这里的问题是什么呢?如何加快处理速度?在真实的服务器中,我不能让工作人员在终端选项卡中运行。我将非常感谢您的帮助:)

下面是我的主管配置:

代码语言:javascript
运行
复制
[program:app-worker]
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:work --daemon --sleep=0
directory=/home/vagrant/Code/app
autostart=true
autorestart=true
user=vagrant
redirect_stderr=true
numprocs=4
stdout_logfile=/home/vagrant/Code/app/storage/logs/worker.log
EN

回答 1

Stack Overflow用户

发布于 2017-07-04 16:13:33

尽管这张票已经2年了,但我认为这是值得一答的。

我的猜测是,这可能是由您正在设置的显式日志文件和stderr的重定向导致的,此外,根据您的配置,看起来您正在本地和非隔离环境中运行此程序,这意味着您的主机操作系统操作和应用程序将干扰您的基准测试。

不管怎样,我相信你很久以前就解决了这个问题:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31223497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档