web-dev-qa-db-ja.com

ADに参加し、ADアカウントを使用すると、Windows10の実行パフォーマンスが低下します

最近、チームのインフラストラクチャをAD内のWindows10に更新しました。

以下を除いて、すべて正常に動作します。状況によってはパフォーマンスの低下が見られます。最初に観察されたのは、VS2017内のコンパイル後のPowershellスクリプトの実行速度がWindows 7よりも遅いためでした。Googleも役に立ちませんでしたが、今ではさらに調査する時間がありませんでした。最近、CIビルドファームも更新しました(CIサーバーとしてのTeamCity)。そこで、ビルド時間が100%以上増加しました。参照用のビルドは、アップグレード前に17分05秒のままで、7分33秒かかりました。

ここStackExchangeとgoogleでの調査は表現力がありませんでした。もう少し調査したところ、マシン(まだAD内)でローカルアカウントを使用してエージェントを実行すると、ビルド時間が約8分50秒になることがわかりました。

Buildjobには、さまざまなMSBuildステップ、nUnintランナー、およびいくつかのPowerShellステップが含まれています。ネットワークアクティビティはありません-すべてがエージェント上でローカルに実行されます。 1つのMSBuildステップは、以前は36秒、現在は1分02秒かかりました。 NUintステップと同じ-30秒対1分24秒(すべてADユーザーを使用)。

問題がどこにあるか提案はありますか?

2
Hans Martin

解決策を見つけました。これは、Windows 10、MSBuild、および当社のインフラストラクチャを組み合わせたものでした。

TeamCityはMSBuild呼び出しをラップします。このラッパー、または内部の一部のWindowsコンポーネントは、「akamaitechnologies」と通信しようとします。CDNは、Microsoftがテレメトリに使用していることを知っています。当社のネットワークはプロキシの背後にあるため、リクエストをタイムアウトする必要があります。ドメインユーザーでは、このタイムアウトはローカルアカウントよりも驚くほど長くなりました。解決策(なぜ古いローカルアカウントでも機能したのか)は、システムプロキシをアクティブ化することでした。リクエストがプロキシからすぐに「拒否された」応答を受け取ることを知ってください。ビルド時間は通常の時間に短縮されました。

この問題で私を助けようとした人に感謝します!

0
Hans Martin