2013-08-03 4 views
0

Я использую Kendo DataViz (используя Complete for MVC), и мне интересно, какой наилучший подход отображать несколько диаграмм (в моем случае 18 диаграмм) на одной странице (страница на панели мониторинга). Я использую EF 5, MVC 4 и .NET 4.Карты Kendo: данные через AJAX или во время загрузки страницы?

Должен ли я извлекать данные во время загрузки страницы, поэтому есть только один ответ со всеми необходимыми данными или я устанавливаю диаграммы для каждого из них, чтобы получить их данные через AJAX, и в этом случае будет ответ на загрузку страницы, за которым последуют 18 запросов AJAX? FYI, каждая из 18 диаграмм имеет свой собственный SP для запроса своих конкретных данных, поэтому нет необходимости в том, чтобы иметь менее 18 вызовов БД.

У меня нет доступа к новым асинхронным материалам (класс задач C# 4.5), но я предполагаю, что я мог бы использовать материал AsyncController, который не так хорош, но все же функциональный - это должно сделать 18 вызовов AJAX довольно хорошими много параллельно, даже когда все запросы запускаются одновременно. С другой стороны, я мог бы использовать библиотеку Parallel для одновременного вызова 18 SP в методе контроллера загрузки страницы.

У меня возникло ощущение, что переход с AJAX может дать пользователю более ощутимую производительность, но переход с загрузкой страницы может обеспечить лучшую фактическую производительность.

Основываясь на вашем опыте, моя кишка говорит мне правильную вещь? Также будет оценена любая дополнительная информация.

ответ

1

Я бы поставил все диаграммы для загрузки через AJAX. Мало того, что начальная загрузка страницы будет мгновенной, но загрузка диаграмм будет по существу асинхронной, поскольку одновременно будут выполняться несколько вызовов AJAX (это не похоже на то, что диаграммы загружаются по одному за раз).

Если данные для всех 18 диаграмм могут быть получены в одном запросе, я бы предложил это, но, поскольку это не так, нет причин блокировать всю страницу, ожидающую выполнения 18 хранимых процедур. Постепенное увеличение загрузки страницы улучшит ее воспринимаемую производительность.

Кроме того, если вы выставляете данные диаграммы через 18 различных методов действий, то будут дополнительные преимущества. Например, вы можете применить кэширование вывода на уровне метода действия, кэшировать определенные графики в течение 15 минут, другие диаграммы в течение часа и т. Д.

Смежные вопросы