Проблемы производительности с SharePoint и Telerik RadGrid Control - PullRequest
1 голос
/ 22 июня 2011

Я первоначально разместил этот вопрос, чтобы сузить проблемы с медлительностью моего приложения SharePoint . Приняв ответ StriplingWarrior , я начал изучать его предложения. В двух словах, у меня есть RadGrid на странице приложения, размещенной на сервере SharePoint 2010. RadGrid отлично работает при поиске страниц; однако после применения фильтра, например: дайте мне фамилии, которые содержат «doe» (с использованием встроенного механизма фильтрации Telerik), результаты возвращаются более чем за 15 секунд. Это не происходит в моей среде разработки, использующей тот же набор данных (около 30 000 записей).

Пара замечаний здесь:

  • SQL, который создается моими выражениями LINQ to SQL, в порядке. Я проследил их с помощью LINQPad и поместил их в Management Studio. Ничего сложного там не происходит.
  • Я создал пустое приложение ASP.NET 3.5 Web Forms и портировал одно из нарушающих RadGrids. Я поместил веб-приложение на рабочий сервер, и вы не знаете ... оно работало просто отлично. Нет проблем с производительностью при фильтрации.

Таким образом, благодаря вышесказанному я смог исключить следующее:

  • Проблемы с оптимизацией баз данных.
  • Проблемы с сетью между приложением SharePoint и сервером базы данных.
  • Проблемы оптимизации LINQ to SQL.

Глядя на этот случай с высокоуровневого уровня, можете ли вы подумать о том, что мне нужно сделать на сервере приложений SharePoint или иным образом решить эту проблему? У меня отладка отключена в web.config.

Опять же, вот мой оригинальный вопрос, содержащий код . Спасибо.

Ответы [ 2 ]

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

Проблемы с производительностью SharePoint возникают главным образом по следующим причинам:

  • BLOB-файлы перегружают SQL Server
  • Слишком много обращений к базе данных для списков

Выможет значительно повысить производительность SharePoint, если использовать несколько интеллектуальных методов:

  • Externalize Documents (BLOB)
  • Списки кэша и BLOB

MicrosoftOffice SharePoint Server (MOSS) - это чрезвычайно популярный продукт, который повышает эффективность организаций благодаря управлению контентом и поиску на предприятии, общим бизнес-процессам и обмену информацией через границы для лучшего понимания бизнеса.А StorageEdge - это превосходный продукт, который повышает / улучшает производительность SharePoint.

0 голосов
/ 27 июня 2011

Я бы начал с определения, где потрачены 15 секунд: 1. Сторона сервера 2. Сторона клиента

Вы можете использовать плагин для браузера, такой как Page Speed ​​(http://code.google.com/intl/da-DK/speed/page-speed/), для измерения различных аспектов вашей страницы.В случае, если большая часть из 15 секунд используется на стороне сервера для рендеринга страницы, вы можете сузить то, что занимает много времени, с помощью инструмента профилирования или операторов трассировки в коде.

Ваша проблема звучит немного какпроблема с тем, как RadGrid обрабатывает фильтрацию. Вы говорите, что сгенерированный SQL и производительность базы данных в порядке. Переводится ли выражение фильтра (например, doe) в предложение SQL where? Я подозреваю, что Grid выбирает все записи из БД иприменяет фильтр.

Кр, Бернд.

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