Как организовать мониторинг и поддержку веб приложений на основе нейронных сетей?
Добрый день, сообщество.
В рамках исследования задался вопросом, как можно организовать мониторинг и поддержку веб приложений на основе, например, нейронных сетей.
Приведу пример. Есть веб приложение, которое работает в реальном времени. И есть множество параметров, которые можно изменять (такие, как пул соединений к БД на чтение, пул соединений на запись, HTTP соединения и т.д.), чтобы достичь максимальной эффективности (скажем, количество успешных запросов на единицу времени).
Подскажите, как правильно организовать работу с временными рядами и как что является выходными признаками (outputs)?
UPD0. Комментаторы не видят словосочетание "в рамках исследования". Хочу еще раз акцентировать на этом внимание. Я не собираюсь пихать это в прод, продавать, проводить семинары/тренинги, заводить отдельный твиттер-аккаунт. Мне интересно проверить теорию. UPD1. Да, в НС я не опытный. Онлайн курс, пара задачек на кэггле и маленький самописный фреймворк (писался ради потехи, чтоб разобраться, как оно работает изнутри.)
Спасибо за ответ. Но у меня сугубо исследовательский интерес, поэтому на данном этапе я не беру реальные приложения. Написать "на коленке" и просимулировать разные виды нагрузок - это не проблема. Инфраструктура позволяет.
У меня проблемы: (1) как организовать работу с временными рядами (юзкейс, когда в ночное время нагрузка минимальна, в рабочее максимальна); (2) как отбалансировать конкретный компонент (если много HTTP соединений, добавить нод или увеличить пул или, например, кто-то делает сложные запросы к БД и тогда нужно делать что-то на этом уровне).
Могу навести примеры конкретных библиотек, с которыми мне приходилось работать: Netflix Hystrix, Google Rate Limiter. Все они заточены на стабилизацию ентерпрайз приложений. В моем "эксперименте" я хочу проверить возможность, можно ли это тюнинговать не вручную, а используя машинное обучение.
Меняйте входные параметры (кол-во соединений и т.д.) и фиксируйте выходные: время и кол-во ошибок - оба параметра должны стремиться к нулю.
Здесь даже НС не нужно: просто создайте тесты и выходные значения по входным запишите и выберите оптимальные.
Плюс, характер нагрузки меняется со временем. Один из вариантов. Например, пользователи с утра создают отчеты, а вечером они генерируют репорты, что приводит к нагрузкам разных компонентов.