ASP.Net Data Driven Эффективность веб-сайта - PullRequest
1 голос
/ 23 апреля 2009

Я создаю веб-сайт ASP.Net, который отображает большие объемы данных. Данные доставляются мне через слой доступа к данным. Из данных, которые я получаю, я создаю большие таблицы данных и затем отображаю их с использованием gridview или динамически создаваемых веб-элементов управления.

Проблема, которую я нахожу, заключается в том, что веб-сайт работает медленно, когда на него передается много данных. Я читал, что считыватели данных - это то, что нужно, но я не могу использовать устройство чтения данных непосредственно из таблицы SQL из-за необходимости использовать слой доступа к данным.

У меня также нет возможности частично заполнить таблицу данных, так как мне нужно применить множество методов сортировки данных, чтобы отобразить то, что мне нужно.

Есть предложения по ускорению таблиц данных? или, может быть, использовать что-то более эффективное?

Ответы [ 5 ]

1 голос
/ 28 апреля 2009

Поскольку вы «… строите большие таблицы данных и затем отображаете их с использованием либо gridview, либо динамически создаваемых веб-элементов управления», сеть может стать узким местом. См. Ответы на аналогичный вопрос SO , который может оказаться полезным.

0 голосов
/ 25 апреля 2009

Вы абсолютно уверены, что узкое место в веб-приложении?

Первое, что я хотел бы сделать, это угадать, какой самый длинный SQL-запрос вы выполняете на медленной странице, а затем посмотреть, как он выполняется в браузере запросов.

Если это медленно, работайте над оптимизацией этого.

0 голосов
/ 23 апреля 2009

Вы можете использовать распределенный кеш, чтобы кешировать ваши данные. Memcache (http://www.danga.com/memcached/) или распределенный кэш Velocity Microsoft (http://www.microsoft.com/downloads/details.aspx?FamilyId=B24C3708-EEFF-4055-A867-19B5851E7CD2&displaylang=en).

0 голосов
/ 23 апреля 2009

Первое, что вам нужно сделать, это точно определить, какая часть процесса идет медленно. Это может быть не там, где вы думаете. Выполните профилирование кода или синхронизацию различных частей, чтобы точно определить, сколько времени занимает каждый фрагмент кода во время запроса. В нашем случае мы обнаружили, что уровень данных (выполнение читателей, заполнение объектных моделей) был действительно быстрым (с несколькими исключениями, о которых заботились индексы в базе данных), в то время как у нас был некоторый JavaScript, который был очень медленным .

Итак, начните с измерения, затем решите, где оптимизировать.

0 голосов
/ 23 апреля 2009

Загрузка «больших» объемов данных в веб-приложение и выполнение сортировки / фильтрации там всегда будет медленным, в зависимости от вашего определения «большого». Если вы можете применить какую-либо сортировку / фильтрацию на сервере базы данных, прежде чем извлекать данные в веб-приложение, это должно ускорить процесс. Вы говорите, что у вас нет возможности сделать это, но сортировка - это то, для чего созданы серверы баз данных, вы уверены, что не сможете сделать эту работу?

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