繁体   English   中英

Laravel Queue工人记忆足迹太大了:/

[英]Laravel Queue Worker Memory Footprint is Too Big :/

我正在运行一个连接到六个MQ的队列工作器。 当它被启动时,它消耗25MB的RAM。 即队列中没有任务,即工作人员处于睡眠状态。 我在所有项目中使用Larvel,这个特定的项目纯粹是为队列工作者(即没有Web访问的微服务)构建的。

我想减少内存占用,但更重要的是我想知道内存消耗的位置。 我正在使用PHP 7.1所以现在xhprof不再是配置文件内存我必须找到一个替代方案。

我知道Lumen意味着消耗更少的内存,至少看起来Lumen是Laravel的一个子集 是否可以“关闭”我的Laravel应用程序的部分,以便模仿流明? 我尝试在config / app.php $providers数组中注释掉行,但内存消耗似乎没有太大的差别(我的测量值约为1MB)。

TL;博士; 如何“调整”Laravel内存占用空间? 如何将Laravel变成Lumen?

谢谢

编辑:图片或它没有发生。 RES列的AFAIK以千字节为单位,因此〜39MB的内存。

RES == 39MB

这可能有助于减少队列中使用的内存。

url: Laravel队列 - 资源注意事项

资源考虑因素

守护程序队列工作程序在处理每个作业之前不会“重新启动”框架。 因此,您应该在每个作业完成后释放任何繁重的资源。 例如,如果您使用GD库进行图像处理,则在完成后应使用imagedestroy释放内存。

您是否检查了php.ini并关闭了您的工作人员和其余代码库不需要的任何扩展。

您可以为此worker创建一个自定义php.ini,并通过命令行参数提供它

php -c queue_php.ini工匠队列:工作。

不要忘记,您在那里看到的内存占用所有PHP执行,因此包括JIT编译器和任何加载的扩展以及它们加载的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM