2009-06-19 2 views
1

У меня есть 6000 рабочих элементов, хранящихся в TFSСамый быстрый способ запроса рабочих элементов из TFS

  1. Во-первых, мне нужно, чтобы получить их все (ну, это достаточно просто сделать с помощью WIQL или что-то другое)
  2. Далее, I необходимо удалить все элементы работы I не работал на конкретную дату. ареал. Например, я смотрю , были ли произведены какие-либо изменения для каждого рабочего элемента.
  3. Наконец, я показываю рабочие элементы на веб-странице (самый быстрый шаг).

Однако весь процесс занимает около 300 секунд. Я предполагаю, что это потому, что мне нужно анализировать историю каждого рабочего элемента. Итак, есть ли какие-то трюки, которые могли бы улучшить время?

Подробнее: У меня есть веб-приложение, которое должно выполнять все это, я использую .Net, я использую кеш-память Work Items Store (но, похоже, не очень помогает), и я свободен в использовании любой инструмент для ускорения процесса.

ответ

0

Абсолютный самый быстрый способ, пакет SSIS (или любой DTL), который выполняет преобразования данных и где-то хранит денормализованные данные, необходимые для этого приложения. В зависимости от вашего сценария этот пакет может работать по ночам, ежечасно, независимо от частоты (в разумных пределах), в которой вы нуждаетесь. Однако, если вам нужны представления в реальном времени данных (и все думают, что они это делают, но редко на самом деле), это не сработает. Я бы посмотрел на кеширование данных и только захват и фильтрацию элементов, которые были изменены.

Мне кажется, что настоящим узким местом в этом процессе является то, что вы захватываете все рабочие элементы, а затем выполняете фильтрацию.

0

Самый быстрый способ - запросить базу данных TfsWorkItemTracking на сервере непосредственно через SQL. Это не рекомендуется, но я сделал это для аналогичного веб-приложения, и он работает достаточно хорошо и разумно быстро. Структура db не слишком сложна.

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