2017-07-21 8 views
1

ソース管理用にのみ使用するTFS 2013サーバーがあります。私はWindows 10とVisual Studio 2017で新しいデスクトップPCを手に入れました。TFSに正常に接続でき、コードをプルダウンすることができますが、ディレクトリ構造がローカルに構築され、ファイルがダウンし始めると、残りの部分は503 Service Unavailableで失敗し、接続が失われ、再接続が強制されます。TFS 503サービスファイルを取得するときに利用できない

数秒後にもう一度接続して試してみると、もう一度やり直すことができます。

ファイルを1つずつプルダウンすると問題はないようですが、プロジェクト全体をプルしようとすると爆発します。

これは、サーバー上の複数のプロジェクトで発生します。

一般に、アプリケーションプールをクラッシュさせるポイントにアプリケーションをオーバーロードすると、ASP.NETで503のエラーが表示されます。これがここで起こっているのかどうかはわかりませんが、おそらくVSがコードをあまりにも速く、おそらく多すぎる同時スレッドや何かで、TFSの古いバージョンでは処理できず、クラッシュすることがあります。

これが当てはまる場合、私のマシン上でそれを変更するためにできることはありますか?または、これを引き起こす可能性のある他のアイデアはありますか?

現在のところ、私はイベントログを取得するためにサーバーにアクセスする必要はありませんが、自分自身を把握して修正することができない場合は、リクエストを行うことができます。

答えて

1

最後に遭遇したのは、rate-limiting proxyの後ろです。 503は、レート制限などの一時的なサービスの中断の一般的なエラーコードです。

要求が最大バーストサイズを超えるまで要求が遅延するため、リクエストはエラー503(サービスは一時的に使用できません)で終了します。

TFSをホストしているIISサービスもbe configured to have request rate limitingです。

maxBandwidthオプションのuint属性。

サイトで使用される最大ネットワーク帯域幅(バイト/秒)を指定します。この設定を使用して、IISの動作によるネットワークの過負荷を防止します。

maxConnectionsオプションのuint属性。

サイトの最大接続数を指定します。同時接続数を制限するには、この設定を使用します。

ビジュアルスタジオ2017は、複数の並列スレッド(少なくとも私が正しく覚えていれば8以上)でダウンロードする方法を最適化しています。これにより、一部のプロキシでレート制限がトリガーされる可能性があります。小さなコードファイルがたくさんあると、レート制限が発生しやすくなります。

それが直接TFSサーバーに到達することができます場合は、あなたの最後のプロキシが中断を引き起こしているかどうかを除外するために、プロキシ除外リストに追加してみてください。しかし、そのようなnginxのようHTTPサーバーは、サーバー管理者が制限を変更する必要があり、その場合には、また、セキュリティ対策として実装することができ、リバースプロキシをもサーバー側で。

+0

これはかなり感謝しています。サーバーの人にこれらのIIS設定を調べてもらうよう依頼し、レート制限プロキシがあるかどうかわかりません。その点についても尋ねます。私はあなたがスローダウンするVS2017を伝えることができる方法を知っていると仮定していないと、また、単一のスレッドを使用していますか?私はそのような設定を見ていないが、多分私は何かを逃した。 –

+0

これはおそらくそうだったでしょうが、Visual Studioに実際にアップデートパッチが用意されていることがわかりました。インストールした後、ファイルは正常にダウンしました。以前のバージョンよりも遅くなっていたようですが、これは古いTFSバージョンの問題だとMicrosoftは認識していましたが、パッチで尋ねていたものとまったく同じように、クラッシュを防ぐ目的で減速しました。 –

+0

もしあれば、それはレジストリの深いところに隠されています。 – jessehouwing

関連する問題