Самый быстрый способ запрашивать рабочие элементы из TFS

У меня 6000 рабочих элементов хранятся в TFS

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

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

Более подробная информация: у меня есть веб-приложение, которое должно делать все это, я использую .Net, я использую кеш хранилища рабочих элементов (но, похоже, это не очень помогает), и я могу использовать любой инструмент для ускорения вверх по процессу.


tfs
person Mik Kardash    schedule 19.06.2009    source источник


Ответы (2)


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

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

person marr75    schedule 19.06.2009

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

person Jan    schedule 26.01.2010