Мне больно известно, что, вероятно, в этом нет волшебной пули, но это становится проблемой.У каждого пользователя есть сотни тысяч строк данных метрик в 3 таблицах, которые обновляются каждую секунду.
Когда пользователь входит в систему, я хочу быстро предоставить ему статистику верхнего ряда для рядаих активы (т. е. рядом с каждым активом в Navi они имеют статистику высшего уровня).
Я испробовал ряд идей;но, пожалуйста, - если у кого-то есть совет или опыт в этой области, было бы здорово.Вещи пробовали или изучали до сих пор: -
- Создание статических версий статистики верхнего уровня каждый час или около того - Это интенсивно для всех пользователей и всех активов.Так что как это можно делать регулярно, я не уверен.
- Вызовите статистику через AJAX, чтобы ее можно было обработать и заполнить (получение статистики верхнего уровня прямо сейчас может занять до 10 секунд для крупного пользователя) после загрузки страницы.Это также может кэшировать статистику в сеансе для сохранения повторяющихся запросов при каждой загрузке страницы.
- Запрос выполняется с интервалом в 30 минут, т.е. вы входите в систему, он выполняет запрос, а затем, будем надеяться, будет использовать кэш запросов при каждой загрузке.(только 1/2 секунды) до следующего 30-минутного интервала.
Первый, похоже, имеет большинство ног, но я не уверен, как это сделать, учитывая, что только небольшое количество пользователейвам нужна эта статистика - кажется, все время делать это для всех ужасно дорого.