Какие могут быть проблемы с железом при расширении?
Разрабатываю сайт который будет работать с другими сайтами через API.
Инструменты PHP 7, YII2, NGINX, GEARMAN.
Пользователи создают определённые задания, которые отправляются в очередь.
Затем в фон запускается воркер с помощью php exec() который подхватывает это задание и начинает его обрабатывать.
Задания могут быть разные, время выполнения от нескольких минут до 5-10 часов - несколько запросов на API затем слип на 20-30 сек и так по кругу.
Меня сейчас интересует вопрос с подключениями к БД из воркеров. Что будет если одновременно будет запущено несколько сотен воркеров и на сайте будет находится несколько сотен человек?
1. Выдержит MySQL?
2. Как приблизительно посчитать какие нужны параметры сервера?
3. На каждый воркер будет висеть одно соединение с БД?
4. Какие ещё могут быть проблемы?
Добавлю, что в воркере выполнчется ~3 запросов к БД, 1 - на апдейт, 1 - на инсерт и 1 - селект.
Запусти на компе разработчика максимально возможное количество воркеров и посмотри нагрузку.
Если есть подозрение, что сайт тоже будет много потреблять, запускай параллельно ab/siege.
Примерно прикинь разницу с сервером и будет понятно, что к чему.
Возьми тестовый впс у хостера, если это возможно, и проверь на нём.
Это единственный адекватный вариант оценки.
PS: У меня были воркеры, которые в 20 потоков тормозили core i3 + ssd, до полной невозможности работы на этой машине. А были и такие, которым 100 потоков нипочём - нагрузки почти не видно.