Sharepoint 2010 - ожидание производительности запроса caml
Какого разумного уровня производительности мне следует ожидать от запроса очень большого списка в Sharepoint 2010? Мой список состоит всего из 1000 наименований, и после нескольких дней изучения положительных и отрицательных результатов работы Sharepoint я так и не смог определить, каким должен быть хороший тест производительности.
Проект, над которым я работаю, был запущен и спроектирован с использованием Sharepoint 2010 с макетом списка, структурированным как реляционная база данных. Я думаю, что первоначально ожидалось использовать Sharepoint, чтобы воспользоваться преимуществами функциональности поиска и управления версиями из коробки, а также использовать spmetal и шаблон репозитория для извлечения данных. У меня ужасная производительность под нагрузкой (или то, что я думаю, было бы ужасной производительностью, поскольку я привык использовать SQL Server). Запросы к списку из 1000 элементов с использованием spmetal и 20-30 пользователей занимают 10-15 секунд для загрузки. Я решил просто пойти голыми, чтобы посмотреть, что я смогу получить. Ниже приведен код.
SPQuery query = new SPQuery();
query.Query = "<View><ViewFields><FieldRef Name=\"ID\" /></ViewFields></View>";
query.ViewFieldsOnly = true;
query.RowLimit = 1000;
SPList list = web.Lists["Incidents"];
var items = list.GetItems(query).OfType<SPListItem>().ToArray();
Количество элементов: 1000 Среднее время: 1197 миллисекунд
Это хорошее представление? Это только один вызов, никаких других запросов к списку инцидентов одновременно.. ничего.
1 ответ
Да, это средняя производительность, по крайней мере, для всей фермы.