あなたの環境に関するいくつかの前提を設定します。質問を更新すると、私は自分の答えを更新します。あなたのチームのサイズに関するいくつかの情報も役立ちます
仮定番号1:TFSアプリケーションサーバーとビルドコントローラおよびビルドエージェントとして機能する単一のサーバーがあります。
仮定番号2:この単一のサーバーには4つのプロセッサコアがあります。
これが当てはまる場合は、コントローラー/エージェント(VMでもかまいません)として少なくとも1台の他のマシンを使用することをお勧めします。パフォーマンスの第一歩とセキュリティのための第二に。ビルドサービスは管理者として実行され、誰かがドライブをフォーマットするか、レジストリを削除するビルドを作成すると、TFSサーバーを失ったばかりです。
ビルドコントローラは1つのチームプロジェクトコレクションにのみ関連付けることができます。あなたはコレクションに関連付けるエージェント/コントローラをいくつでも持つことができますが、コレクション間で共有することはできません。
コアを持つビルドエージェントをいくつでも持つことができ、4コアマシンで最大4つのビルドエージェントをホストできます(チームビルドをサーバーにインストールする場合はこのオプションが必要です)。もちろんこれは各コントローラは同じRAMとディスクを共有します。
同じマシン上に複数のビルドコントローラをセットアップすることもできますが、これはマイクロソフトではサポートされていないため、ハックと見なされます。 Jim Lamb blogged about thisおよびMark Nichols wrote a nice guide
要約すると、単一の4コアサーバーを使用している場合は、最大4つのエージェントを構築し、同様の数のコントローラをハックすることで潜在的にホストすることができます。これはあなたのニーズに合うかもしれません。ハックのビットですが、それはあなたの問題を解決するはずです。
これを行う正しい方法は、コントローラごとにVMを用意し、ビルドエージェント自体のためにマシンを分離することです。たとえば、2つのチームプロジェクトコレクションがあります。ビルドコントローラ用に2つのVM(1つのコレクションに1つ)がありますが、これらのマシンはコントローラが多くの作業をしないので強力である必要はありません。私たちには、エージェントをビルドするための16個のクワッドコアマシンがあります。現時点では、1台のマシンにつき2つのエージェントしかホストしていないので、実際には各コントローラ/チームプロジェクトコレクションには16のビルドエージェントがあります。必要に応じて、コントローラ間でエージェントを移動させることはありますが、
まず、複数のチームコレクションを使用しないでください。チームの多くのプロジェクトではなく、そのような理由がありましたか? – Betty