簡體   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