Захотел на своём сайте задействовать несколько очередей для обработки заданий. В консоле прописываю php artisan queue:work, запускаю обработчик очереди, всё прекрасно работает. Открываю второе и третье окно консоли аналогично запускаю в каждом воркеры, тоже всё работает. Все задачи при выполнении распределяются между тремя воркерами, всё как надо. Но когда я запускаю 4ый воркер, у меня начинает жутко тормозить весь сайт, страницы вместо 1-2сек открываются по 20-40сек или вообще выскакивает ошибка превышение таймаута ожидания. Отваливается сервис web socket pusher. И при этом воркеры находятся в простое без задач, просто запущены. При запуске 5го воркера сайт полностью лежит. Первое что в голову приходит это не достаточно ресурсов, но и оперативы полно и проц грузится на 1-2% в простое, но при этом php уже не работает сайт лежит. Подумал что может это особенность локальной машины, и выгрузил это на сервер с 2мя процессорами 36 ядер, там тоже сайт ложиться от 4х запущеных воркеров. Почитал интернет, вроде ограничений на количество воркеров в laravel не где нет, chatgpt тоже ничего не подсказал. В чём может быть проблема?
Любопытная проблема. У нас работает более четырех воркеров одновременно и всё окей. Поэтому я думаю что проблема в конкретных джобах, где-то что-то или блокирует или исчерпывает некий ресурс.
Коллега спасибо за помощь, но ситуация решилась другим способом Тоже по подсказке, до этого фиг догадаешься) На сервере крутится proxmox, там в качестве виртуалки стоит ubuntu, а уже на ubuntu стоят docker контейнер с laravel. Раньше на ubuntu в proxmox было выделено 2 сокета по 20 ядер, я исправил на 1 сокет, и всё заработало, запускается 10 воркеров и всё остальное не тормозит. Как подобное сделать на WSL на винде я не знаю, но оно мне и не нужно, на тестовой машине мне и 3х воркеров предостаточно