Служба TFS 503 недоступна при получении файлов

У нас есть сервер TFS 2013, который я использую только для контроля версий. Я только что получил новый настольный ПК с Windows 10 и Visual Studio 2017. Я могу успешно подключиться к TFS, и я могу начать извлекать код, но после того, как структура каталогов была построена локально и файлы начали падать, несколько успешны, остальные терпят неудачу с ошибкой 503 Служба недоступна, и соединение теряется, что вынуждает меня снова подключиться.

Я могу снова подключиться через несколько секунд и продолжить попытку, и это произойдет снова.

Если я вытаскиваю файлы по одному, вроде все нормально, но когда я пытаюсь вытащить весь проект, он взрывается.

Это происходит в нескольких проектах на сервере.

В общем, я вижу 503 ошибки в ASP.NET, когда я перегружаю приложение до такой степени, что оно приводит к сбою пула приложений - я не знаю, происходит ли это здесь, но если это так, мне интересно, может быть, VS слишком быстрое извлечение кода, возможно, со слишком большим количеством параллельных потоков или что-то еще, что старая версия TFS не может обработать, что приводит к ее сбою.

Если это так, могу ли я что-нибудь сделать, чтобы изменить это на моей машине? Или у вас есть другие идеи о том, что может быть причиной этого?

На данный момент у меня нет доступа к серверу, чтобы получить журналы событий, но я могу отправить запрос, если это не то, что я могу понять и исправить самостоятельно.


person Joe Enos    schedule 21.07.2017    source источник


Ответы (2)


В последний раз, когда я столкнулся с этим, я был за прокси-сервером, ограничивающим скорость. 503 — это общий код ошибки для временных перерывов в обслуживании, таких как ограничение скорости.

Чрезмерные запросы задерживаются до тех пор, пока их количество не превысит максимальный размер пакета, и в этом случае запрос завершается с ошибкой 503 (служба временно недоступна).

Служба IIS, на которой размещается TFS, также может быть настроена .

maxBandwidth Необязательный атрибут uint.

Указывает максимальную пропускную способность сети в байтах в секунду, которая используется для сайта. Используйте этот параметр, чтобы предотвратить перегрузку сети активностью IIS.

maxConnections Необязательный атрибут uint.

Указывает максимальное количество подключений для сайта. Используйте этот параметр, чтобы ограничить количество одновременных клиентских подключений.

Visual Studio 2017 оптимизировала способ загрузки через несколько параллельных потоков (по крайней мере, 8, если я правильно помню). Это может вызвать ограничение скорости в некоторых прокси. И множество небольших файлов кода могут легко вызвать ограничение скорости.

Если есть возможность напрямую связаться с сервером TFS, вы можете попробовать добавить его в список исключений прокси-серверов, чтобы исключить, не вызывает ли прерывание прокси-сервер на вашей стороне. Но HTTP-сервер, такой как nginx, также может быть реализован в качестве меры безопасности и может использовать обратный прокси-сервер на стороне сервера, и в этом случае администратор сервера должен изменить ограничения.

person jessehouwing    schedule 21.07.2017
comment
Это имеет большой смысл, спасибо. Я попрошу ребят из нашего сервера изучить эти настройки IIS, и я не знаю, есть ли у нас прокси-сервер, ограничивающий скорость, поэтому я также спрошу об этом. Я не думаю, что вы знаете, как я могу заставить VS2017 замедлиться, а также использовать один поток? Я не видел таких настроек, но, возможно, я что-то упустил. - person Joe Enos; 21.07.2017
comment
Скорее всего, это было так, но я обнаружил, что Visual Studio действительно имеет доступное исправление для обновления, и после того, как я его установил, файлы были успешно удалены. Похоже, что они снижались медленнее, чем раньше, поэтому, возможно, Microsoft поняла, что это проблема старых версий TFS, и сделала именно то, о чем я просил в своем патче, специально замедляя работу, чтобы предотвратить сбой. - person Joe Enos; 21.07.2017
comment
Если он и есть, то он скрыт глубоко в реестре. - person jessehouwing; 21.07.2017

У меня была аналогичная проблема при доступе к нашему репозиторию tfs-git из intellij. Внезапно возникла ошибка unable to access <repo url>. Запрошенный URL вернул ошибку: 503.

Что помогло:

В intellij-›VCS-git-› удаленные устройства меняют URL-адрес на ложный (проверка не проходит), а затем обратно на действительный.

В моем случае затем появился запрос на вход, и я, наконец, восстановил доступ к репозиторию.

person railey    schedule 18.11.2020