Как лучше распараллелить вычисления php?

Есть набор значений который рассчитываются по элементарным математическим формулам (+-*/).
Эти значения зависят от коэффициентов, коэффициенты хранятся в базе.
Часть коэффициентов динамические(меняются примерно раз в сек), часть почти статика.

Нужно распараллелить вычисления для максимально быстрого просчета.
БД mysql.

Изза того что данные очень динамические сильно на кеш не завяжешься.

Из вариантов - разнести на очередя, и по мере нагрузки добавлять воркеров.

Запросы на просчет могут приходить как массово до 5тыс значений, так и точечно 1-5 значений
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 2
@zuart
... уже и не знаю, нуп, похоже ...
Что по мне, так зря вы так думаете по теме кеширования в памяти... Кешировать ведь можно не только конечный результат, отправляемый юзеру, но и эти часто изменяющиеся данные.
Тот процесс, который постоянно изменяет данные в базе ведь может их не только в БД писать, но и в кеше сразу обновлять (мемкеш/редис/etc.). И для выдачи результата не базу постоянно трясти, а брать их из кеша - это быстро.

Да, к слову, сразу уточню по теме комментариев, что используются много где - при любом раскладе, если в памяти того же редиса, например, будет актуальная информации, синхронизированная с данными из БД, ее получить гораздо быстрее, чем трясти постоянно базу. Если все крутится на на одном сервере, так вообще все модули будут мгновенно читать нужные данные и без лишней нагрузки на диск...

Ну а если не поможет, тогда уже думать над распараллеливанием потоков и т.д.
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
По вашему описанию пока что выглядит как типовая задача для RMQ + Work queues Consumers, но! Меня очень смущает то что вы написали о коэффициентах, которые меняются раз в секунду в базе. Основная цель коэффициентов быть статическими значениями уравнения расчета.

Возможно, что, если вы опишите архитектуру всего процесса (как попадают коэффициенты в базу, зачем они туда попадают и какие цели преследует такая архитектура) то получится вам помочь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект