Существуют многие стороны к этому, но от перспективного пятнышка эффективности приложений таблицы могут время от времени быть более эффективными. Если у Вас есть несколько таблиц с набором столбцов каждый раз дб, чтобы сделать операцию, он имеет шанс создания блокировки, больше данных сделано недоступным продолжительности блокировки. Если блокировки наращиваются к странице и таблицам (хорошо, надо надеяться, не таблицы:)) Вы видите, как это может замедлить систему.
Я использовал Beanstalk в продакшене, а также во время тестирования через него проходили миллионы простых сообщений - как правило, массово, но в производственной системе было обработано более 100000 задач, пока я не ушел компания. Он может все еще работать, и в этом случае сейчас будут десятки миллионов - или больше, если бы они расширили его использование дальше, как я планировал.
Я бы порекомендовал его, так как он имеет ряд отличных баллов. .
Моей первой задачей, которую я выполнил, была обработка изображений - и выполнение этой работы вне процесса Apache / mod_php позволило мне изменить размер изображений большего размера, не затрагивая сервер (отключение веб-сервера). При слегка загруженной очереди он создавал миниатюры до того, как страница обновилась после загрузки.
Есть много других потенциальных задач, которые также можно обрабатывать асинхронно.
Единственная проблема, с которой я когда-либо сталкивался, заключалась в том, чтобы убедиться, что рабочие завершили работу без происшествий - или что были обнаружены какие-либо ошибки, чтобы задание можно было «похоронить», таким образом гарантируя, что задание не будет возвращено в очередь для повторного выполнения (и снова приведет к аварийному завершению рабочего процесса).
Также может быть полезно перезапуск рабочих процессов для очистки памяти, поскольку PHP менее подходит для длительно выполняющихся процессов.