Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
みなさん、こんにちは。
今回も US チームのブログより、ネットワーク通信のパフォーマンスに関する情報を
紹介したいと思います。IIS レベルの設定になりますので Microsoft Dynamics の
設置型全てのバージョンに応用が可能です。
情報元 : How to Decrease 401 Responses in CRM Web Traffic
Microsoft Dynamics CRM のような Web アプリケーションのトラフィックをモニターすると、
HTTP 応答 200 (Success) を受け取る前に、頻繁に HTTP 応答 401 (Access Denied) の
パケットがあることに気がつくと思います。Internet Explorer はまず匿名でのアクセスを
試みるため、ケルベロス認証や NTLM 認証を利用する場合は通常の動作です。
画像等のファイルは匿名でのアクセスが許可されているため、HTTP 応答 401 を
受け取ることなく HTTP 応答 200 を受け取っています。ASPX ページ等他のものでは、
HTTP 応答 401 がまず返され、それから認証情報を渡していることが分かります。
この場合、実際のデータを取得するまでにサーバーとクライアント間を 2 往復することになり、
結果ネットワークを圧迫します。
WAN 環境でアクセスが必要なユーザーには影響が顕著に現れます。またカスタム
ページでは、毎回 HTTP 応答 200 の前に、 HTTP 応答 401 が返されているケースも
見たことがあります。
IIS 6.0 および IIS 7.0 では、HTTP リクエストごとにクライアント認証が必要となります。
この挙動がネットワークトラフィックを増加させる原因です。以下の技術情報では、この
挙動を変更する方法が説明されています。こちらを適用することで、初めのリクエストで
クライアント認証を行い、以降 HTTP Keep-Alive セッション期間は認証が有効のまま
となります。よって HTTP 応答 401 を抑制することが可能です。
You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 6.0
https://support.microsoft.com/kb/917557
You may experience slow performance when you use Integrated Windows authentication together with the Kerberos authentication protocol in IIS 7.0
https://support.microsoft.com/kb/954873
以下に、取引先担当者上にカスタムページを表示された場合の結果を示します。
上記の対応を行うことで、クライアント ‐ サーバー間のラウンドトリップが 40% 減少
しています。環境によりますが、多くの場合パフォーマンス向上を見込めます。
技術情報適用前後の結果
| 適用前 | 適用後 | 変化の割合 |
| リクエスト数 126 | リクエスト数 76 | 40% 減 |
| 応答コード | ||
| HTTP/200 64 | HTTP/200 64 | 変化なし |
| HTTP/401 62 | HTTP/401 12 | 81% 減 |
まとめ
今回の技術情報に関しては、以前こちらの記事でも紹介しましたが、今回は
IIS6 および IIS7 両方の情報を提供しています。設置型の方のみが対象ですが
是非一度技術情報をご確認ください。
- Dynamics CRM サポート 中村 憲一郎