Я использую систему очередей, которая обрабатывает миллионы сообщений в день.В основном через Amazon SQS, но я также использую новую систему Beanstalkd с более чем 600 000 сообщений там прямо сейчас.
Как описано в блоге на тему , у меня есть сценарии оболочкивыполнение в цикле обработки сообщений (цикл в сценарии PHP для запуска нескольких заданий перед возвратом также несколько полезен, по крайней мере, для небольших заданий).
Эти сценарии оболочки запускаются с Supervisord ,Есть еще одно сообщение в блоге об использовании этого .В настоящее время я выполняю более 800 рабочих сценариев (для нескольких различных типов заданий) на девяти компьютерах, все они извлекают данные из разных очередей и помещают данные в другие очереди, записывая их в базу данных или файлы.Увеличение числа рабочих на машину - это вопрос увеличения числа «numprocs» (или его уже достаточно большого размера), а затем, при необходимости, запуска большего количества.Можно также сказать, 5 автозапуска, а затем еще один блок из 50, которые готовы к запуску при необходимости.
Я считаю, что каждый работник занимает только около 20 МБ неиспользуемой памяти (остальное является общим для процессов).Конечно, это зависит от задач, которые выполняют рабочие.Изменение размера изображения может занять много усилий.Отчасти по этой причине у меня есть возможность часто перезапускать скрипт PHP.