<< Перейти в раздел «Team Foundation Proxy Server FAQ»
Когда клиент TFS выполняет операцию «Get Latest», на сервере выполняется три операции:
- Инициирующий Get() — сервер определяет, какие файлы необходимо обновить в рабочем пространстве.
- Download() — загрузка всех необходимых файлов.
- В конце 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
Если все используют кеширующий прокси, то все запросы на загрузку должны происходить от имени проки-сервера. Загрузка от другого имени может происходить в случаях:
- Пользователь не использует кеширующий прокси.
- Пользователь использует кеширующий прокси, но прокси-сервер был недоступен и клиент загрузил файлы напрямую с сервера приложений.
Источник: How many users are not using a TFS Proxy server?