Как вы эффективно используете многоядерные процессоры в своих приложениях PHP / MySQL?

Я поддерживаю пользовательское приложение, подобное CMS.

Каждый раз, когда документ передается, выполняется несколько задач, которые можно условно сгруппировать в следующие категории:

MySQL запросы.Разбор HTML-контента.Обновление поискового индекса.

Категория 1 включает обновления различных таблиц MySQL, относящихся к содержимому документа.

Категория 2 включает анализ содержимого HTML, хранящегося в полях MySQL LONGTEXT, для выполнения некоторых автоматических преобразований тегов привязки. Я подозреваю, что на выполнение этой задачи уходит много времени на вычисления.

Категория 3 включает в себя обновления простого поискового индекса на основе MySQL с использованием всего лишь нескольких полей, соответствующих документу.

Все эти задачи должны быть выполнены для того, чтобы представление документа считалось выполненным.

На компьютере, на котором размещено это приложение, установлены двухъядерные четырехъядерные процессоры Xeon (всего 8 ядер). Однако всякий раз, когда документ отправляется, весь исполняемый код PHP ограничивается одним процессом, выполняющимся на одном из ядер.

Мой вопрос:

Какие схемы, если таковые имеются, вы использовали для распределения нагрузки обработки веб-приложений PHP / MySQL между несколькими ядрами ЦП? Мое идеальное решение в основном породило бы несколько процессов, позволяло им выполняться параллельно на нескольких ядрах, а затем блокировалось до тех пор, пока все процессы не будут завершены.

Связанный вопрос:

Какой ваш любимый инструмент профилирования производительности PHP?