4

HTTPS、TCP、名前付きパイプのバインディングを使用して、IIS7.5でWCFアプリをホストしました。

現在、新しいバージョンのWebサービスに取り組んでおり、パフォーマンスを向上させようとしています。何か奇妙なことを発見したときに、同じサーバー上のクライアント(VSコンソールクライアント)とサーバー(IISホスト)でテストしています。100のテストを行う場合-単純な文字列を返すメソッドを1000回呼び出すと、組み込みのアカウントは、ドメインユーザーであるカスタムのApplicatiolPool IDよりも、約3倍の速度でパフォーマンスが向上します。

サービスに必要なことのため、AppPoolIDをドメイン管理者にする必要があります。

これに光を当てることができる人はいますか?

4

1 に答える 1

1

よくわからないのに「問題」を見つけたようです。

前述したように、私はVSコンソールクライアントを使用しました。つまり、VisualStudioでデバッグしました。組み込みのAppPoolユーザーの有無にかかわらず、プロセスモニターを使用して分析を行った後、VisualStudioがファンキーなことをしているのを見ました。ドメイン管理者の下でAppPoolを実行すると、VSは別のユーザーの下で追加の.vshost.exeプロセスを生成しました(私がわざわざ探し回っていなかったSIDのみが表示されたため、表示できませんでした)。 。

私はコンソールプロジェクトを構築し、実行可能ファイルをVSの外部で実行しましたが、AppPoolユーザー間で目立った違いはなく、VSよりも何倍も高速でした。これがなぜなのか分かりません。

私の結論は、「疑わしい場合は、プロセスモニターを実行してください!」です。また、パフォーマンステストのためにVisualStudioデバッガーにそれほど依存するべきではありませんでした。

于 2012-12-05T11:27:32.697 に答える