1

Недавно мы обновили инфраструктуру наших команд до Windows 10 в AD.

Все работает отлично, за исключением: мы наблюдаем медленную производительность в некоторых ситуациях. Впервые наблюдалось, что наш сценарий посткомпиляции Powershell в VS2017 работал медленнее, чем в Windows 7. Гугл тоже не помог, но к настоящему времени у нас не было времени на дальнейшие исследования. Недавно мы также обновили нашу ферму сборки CI (TeamCity как CI Server). Там мы увидели увеличение времени сборки более чем на 100% - сборка для справки заняла 7м33 с до обновления, а после 17м05.

Исследования здесь в StackExchange и Google не были выразительными. Немного больше исследований привело нас к выводу, что, если мы запустим Агента с локальной учетной записью на компьютере (все еще в AD), мы получим время сборки около 8m50s.

Buildjob содержит различные шаги MSBuild, nUnint runner и некоторые шаги powershell. Нет сетевой активности - все делается локально на агенте. Один шаг MSBuild занимал ранее 36 с, а теперь 1 м 02. То же самое с шагом NUint - 30 с против 1 м 24 с (все с пользователем AD).

Любое предложение, где проблема?

1 ответ1

0

Нашел решение. Это была комбинация Windows 10, MSBuild и инфраструктуры нашей компании.

TeamCity завершает вызов MSBuild. Эта оболочка, или какой-то компонент Windows внутри, пытается связаться с "акамаитехнологиями" - CDN знает, что Microsoft использует его для телеметрии. Поскольку сеть нашей компании находится за прокси-сервером, время ожидания запроса истекло. У пользователя домена этот тайм-аут был на удивление длиннее, чем у локальных учетных записей. Решение (почему также работало на старой локальной учетной записи) состояло в том, чтобы активировать прокси системы. Знайте, что запрос немедленно получает "отказанный" ответ от прокси. Время сборки сократилось до нормального.

Спасибо всем, кто пытался помочь мне в этой проблеме!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .