Память работника очереди Laravel слишком велика:/
Я работаю в очереди, которая подключается к шести MQ. Когда он вызывается, он потребляет 25 МБ оперативной памяти. То есть с нулевыми заданиями в очереди, то есть рабочий находится в спящем состоянии. Я использую Larvel для всех своих проектов, этот конкретный проект предназначен исключительно для работника очереди (т. Е. Микросервиса без веб-доступа).
Я хотел бы уменьшить объем занимаемой памяти, но, что более важно, я хотел бы знать, где используется память. Я использую PHP 7.1, так что теперь, когда xhprof больше не профилирует память, я должен найти альтернативу.
Я знаю, что Люмен должен потреблять меньше памяти, и, по крайней мере, кажется, что Люмен является подмножеством Ларавела. Можно ли "отключить" части моего приложения Laravel, чтобы оно имитировало Lumen? Я попытался закомментировать строки из config/app.php $providers
массив, но, кажется, нет большой разницы в потреблении памяти (~1MB по моим меркам).
ТЛ; др; как "настроить" след памяти Laravel? как превратить Laravel в люмен?
Спасибо
РЕДАКТИРОВАТЬ: Фото или это не произошло. AFAIK столбец RES находится в килобайтах, поэтому ~39 МБ памяти.
2 ответа
Возможно, это поможет сократить объем памяти, используемой в вашей очереди.
url: очереди Laravel - Вопросы по ресурсам
Ресурсы
Работники очереди демонов не "перезагружают" каркас перед обработкой каждого задания. Поэтому вы должны освобождать любые тяжелые ресурсы после завершения каждой работы. Например, если вы выполняете манипуляции с изображениями с помощью библиотеки GD, вы должны освободить память с помощью imagedestroy
когда вы сделали.
Вы проверили свой php.ini и отключили все расширения, которые вам не нужны для вашего работника и остальной части кода.
Вы можете создать собственный php.ini для этого работника и предоставить его через аргументы командной строки.
php -c queue_php.ini Очередь ремесленника: работа.
Не забывайте, что объем памяти, который вы видите там, предназначен для всего этого выполнения PHP, включая JIT-компилятор и все загруженные расширения и все, что они загружают.