@kostya_mamanjvitch

Как распределить работу бота, чтобы была наименьшая нагрузка на сервер?

Пишу бота для инстаграм, для массового просмотра историй. Написал, работает. Но только с 1 пользователем. В планах сделать бесплатный сервис для этой функции. Но как распределить пользователей? Как сделать минимальную нагрузку на сервер?
  • Вопрос задан
  • 68 просмотров
Пригласить эксперта
Ответы на вопрос 1
@chachaUnholy
Однозначно HTTP(S) запросы должны быть асинхронные. Конечно, если инста ваш сервис не пошлёт отдохнуть за частые обращения. Сколько запросов в секунду позволяет делать инста с одного ip адреса/логина, вы узнавали? Аналогично для интерфейса бота, т.е. его платформы: vk, ok, fb, viber и т.п.
БД точно будет, и её надо бэкапить. Естественно, в часы наименьшей нагрузки. Под БД нынче нужен SSD и/или прилично ОЗУ.
Ходят слухи, что преждевременные оптимизации далеко не всегда оправдываются.
Итого, всё зависит от архитектуры вашего решения, которая не известна.
Мне видится такой порядок, хотя и капитанский:
1) мониторинг. Как для Вашего ЯП/фреймворка мониторить нагрузку? Узнайте сколько какая функция в коде выполняется по времени, хотя бы. Освоив мониторинг можно делать тесты
2) нагрузочное тестирование. 1, 5, 20, 100 юзеров. Максимум запросов каждому. Какие ресурсы просели - те и подтянуть путём апгрейда железа или кода. Ну и ошибки отловить.
Удачи.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы