Как улучшить производительность загрузки веб-страницы, которая показывает количество запросов, полученных более чем 35 запросами - PullRequest
0 голосов
/ 20 сентября 2018

На моей веб-странице отображается информационная панель, которая отображает различные статистические данные, относящиеся к ралли.Он показывает более 35 подсчетов, которые получены с помощью запросов MySQL.В настоящее время загрузка страницы занимает около 12 секунд.Я попробовал описанные ниже подходы, чтобы улучшить производительность, но все загружают страницу одновременно.

  1. Используя Spring MVC Framework, я создал 35 методов для раздельного извлечения различных данных подсчета.

  2. Все запросы записываются в хранимую процедуру и выполняются на уровне БД.Класс Java написан для вызова этой хранимой процедуры и получения всех подсчетов.

  3. Отдельный класс Java написан с одним JDBC-соединением для извлечения всех подсчетов с использованием запросов MySQL.

Дайте мне знать лучший подход к этому сценарию.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Если вы делаете 35 звонков, я надеюсь, что есть способ объединить это в меньшее количество SQL-запросов.В противном случае убедитесь, что вы используете подготовленные операторы для повышения производительности.Также вы можете кэшировать результаты этих запросов в течение некоторого периода времени (5-10 минут) вместо того, чтобы выполнять их каждый раз;это зависит от того, как часто ваши данные изменяются.

0 голосов
/ 20 сентября 2018

Можете ли вы попробовать ниже 1. Создайте 35 методов дао и вызывайте их асинхронно в классе обслуживания.Класс обслуживания может быть вызван из контроллера.здесь я предполагаю, что ниже архитектура Controller> Service> DAO

Здесь у вас должен быть единственный метод в контроллере, который вызывает эти методы сервиса асинхронно.Если вы используете пружину, то пружина имеет встроенную поддержку для асинхронного

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...