Мое приложение имеет 10-12 панелей мониторинга, в которых есть компоненты, которые обновляют данные каждые 50 секунд, и этим приложением пользуются почти ~ 5000 человек, в пиковое время оно дает слишком большой всплеск на сервере БД, что приводит к зависанию сервера и сбою.
И я использую Spring data jpa + hibernate, и все эти запросы native
запросы.
Чтобы уменьшить сервер БД, я пришел к выводу, что какой-то планировщик будет считывать данные для панелей мониторинга из БД и записывать в файл, а внешний интерфейс будет читать их из этого файла, а поток записи будет обновлять их каждые 50 секунд и поток чтения будет читать каждые 60 секунд, мы предполагаем, что, по крайней мере, этот способ позволит избежать одного запроса панели инструментов для более чем одного пользователя только один раз.
будет ли эта теория работать в продукт? или я могу получить какую-либо помощь от hibernate cache
или любой другой способ решения подобных проблем.
Я не могу выполнять хранимые процедуры, поскольку они по-прежнему влияют на сервер БД, этот сервер также используется для многих других приложений.