Заметки консультанта

Шамрай Александр Владимирович

Archive for 26.04.2009

Когда может понадобиться TFS Proxy?

Posted by Shamrai Alexander на 26 апреля, 2009

<< Перейти в раздел «Team Foundation Proxy Server FAQ»

Кеширующий прокси полезен в следующих случаях:

  1. Когда TFS используется в конфигурации с географически разделенными командами и между этими командами каналы связи имеют низкую пропускную способность.
  2. Когда в организации большое количество рабочих мест и сервер приложений перегружен большим количеством запросов. В этом случае можно использовать несколько кеширующих прокси внутри организации и тем самым балансировать и снижать нагрузку на сервер приложений.

Posted in Microsoft, Proxy FAQ, Team Foundation Server FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »

Как узнать сколько пользователей не используют TFS Proxy?

Posted by Shamrai Alexander на 26 апреля, 2009

<< Перейти в раздел «Team Foundation Proxy Server FAQ»

Когда клиент TFS выполняет операцию «Get Latest», на сервере выполняется три операции:

  1. Инициирующий Get() — сервер определяет, какие файлы необходимо обновить в рабочем пространстве.
  2. Download() — загрузка всех необходимых файлов.
  3. В конце UpdateLocalVersions() — клиент информирует сервер, какие версии и каких файлов находятся в его рабочем пространстве.

 Если проходит много запросов на обновление, то сервер приложений TFS будет сильно загружен. Снять нагрузку с сервера приложений позволяет кеширующий прокси, который хранит у себя все запрашиваемые файлы и при повторном запросе файла отдает его уже из собственного кеша, а не пытается загрузить его с сервера. Если в организации большое количество пользователей и сборочных машин, то можно разместить несколько кеширующих прокси и с помощью них выполнять балансировку загрузки.

После того как вы установили кеширущий прокси, возможно вам будет интересно кто его не использует. Вся необходимая информация содержится в базе данных TfsActivityLogging. Т.к. кеширующий прокси работает как сервис NETWORK SERVICE, то для запроса можно  использовать фильтр, в котором необходимо исключить учетную запись компьютера кеширующего прокси (DOMAIN\COMPUTERNAME$):

SELECT
SUM([ExecutionCount]) as DownloadCount, [IdentityName], [IPAddress]
FROM [TfsActivityLogging].[dbo].[tbl_Command]
WITH (NOLOCK)
WHERE Command = ‘Download’
AND IdentityName NOT LIKE ‘%$’
GROUP BY IPAddress, IdentityName
ORDER BY SUM([ExecutionCount]) DESC

Если все используют кеширующий прокси, то все запросы на загрузку должны происходить от имени проки-сервера. Загрузка от другого имени может происходить в случаях:

  1. Пользователь не использует кеширующий прокси.
  2. Пользователь использует кеширующий прокси, но прокси-сервер был недоступен и клиент загрузил файлы напрямую с сервера приложений.

Источник: How many users are not using a TFS Proxy server?

Posted in Microsoft, Proxy FAQ, Team Foundation Server FAQ, Visual Studio | Отмечено: , , , , , | Leave a Comment »