[英]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的内存。
这可能有助于减少队列中使用的内存。
url: Laravel队列 - 资源注意事项
资源考虑因素
守护程序队列工作程序在处理每个作业之前不会“重新启动”框架。 因此,您应该在每个作业完成后释放任何繁重的资源。 例如,如果您使用GD库进行图像处理,则在完成后应使用imagedestroy
释放内存。
您是否检查了php.ini并关闭了您的工作人员和其余代码库不需要的任何扩展。
您可以为此worker创建一个自定义php.ini,并通过命令行参数提供它
php -c queue_php.ini工匠队列:工作。
不要忘记,您在那里看到的内存占用所有PHP执行,因此包括JIT编译器和任何加载的扩展以及它们加载的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.