Назад | Перейти на главную страницу

Есть ли проблемы с производительностью при запуске уровня приложений TFS на виртуальной машине?

Мы рассматриваем виртуальную машину для уровня приложений в развертывании TFS с двумя серверами, поскольку она не будет выполнять интенсивный ввод-вывод. Есть ли у кого-нибудь хороший или плохой опыт использования этого подхода (особенно в отношении производительности)?

Нашел некоторые рекомендации от Бхарри (сотрудник Microsoft, работающий над VSTS) Вот.

Как вы заметили, уровень приложений не выполняет тяжелых операций ввода-вывода и обычно является хорошим кандидатом для виртуализации. Я не знаю вашей конкретной среды, поэтому тестирование ее с репрезентативной нагрузкой будет лучшим способом получить окончательный ответ, но она имеет знак одобрения «Это работает для меня» :) Уровень данных (SQL Server) работает намного лучше непосредственно поверх оборудования (но похоже, что вы все равно делаете именно это).

Если вы используете несколько виртуальных машин на сервере, на котором размещена виртуальная машина уровня приложений TFS, просто имейте в виду (и я знаю, что это совершенно очевидно), что другие виртуальные машины будут конкурировать за те же ресурсы, что и виртуальная машина TFS (ОЗУ, ЦП, сеть, и Диск), так что планируйте соответственно.

Я знаю многих людей, которые используют эту конфигурацию, и она им подходит. Я знаю по крайней мере одну компанию с довольно большой нагрузкой (круглосуточная разработка по всему миру, около 200 пользователей получают доступ к системе в течение дня), и эта конфигурация им подходит. У них действительно были проблемы, когда SQL-сервер был виртуализирован, но они работали нормально, так как SQL получил свой собственный ящик. Ключ в том (как и во всех виртуальных машинах, используемых в производстве), чтобы убедиться, что виртуальная машина AT имеет достаточно ресурсов и не слишком сильно конкурирует с другими виртуальными машинами на главном устройстве. В условиях нехватки ресурсов рабочий процесс ASP, работающий в IIS, может начать интенсивную переработку, что может привести к некоторым проблемам.

Несмотря на то, что IO AT довольно низок, он фактически кэширует файлы, которые выгружаются в системе управления версиями, чтобы избежать повторной сборки файла из дельты, хранящейся в базе данных, когда кто-то запрашивает эту конкретную версию. Поэтому все же стоит применять все обычные передовые практики с производственными виртуальными машинами, такие как использование фиксированных дисков и т. Д.