クライアントのDNSリゾルバキャッシュについて説明しています。このメッセージはWindows DNS Serverには関係ありません。Windows DNSリゾルバキャッシュの設定
私は、多くのDNS解決を行うC#プログラムを持っています。 HTTPWebRequestコンポーネントはHostヘッダーを変更できないため、独自の内部DNSキャッシュを作成することはできません。ですから、私はWindows DNSキャッシュに依存しなければなりません。Windows DNSキャッシュは変更しにくいようです。
Windows Server 2003のDNSキャッシュレジストリ設定については、合理的に良いTechNet articleがありますが、これらの設定が何かを証明することはできませんでした。私がGoogle検索で見つけた他のすべてのページは、そのページを参照するか、言い換えれば間違っていることがあります。
Windowsのipconfigコマンドには、キャッシュの内容を出力する/ displaydnsスイッチがあります。私の知る限り、これはDNSキャッシュのサイズを決定する唯一の方法です。 DNSキャッシュのレジストリ値を何に設定しても、2GBのメモリを搭載した32ビットのWindows XPボックスでの実験では、何千ものDNS解決を行った後でも、キャッシュ内のアイテムは常に30〜40になります。 16GBのメモリを搭載した64ビット版のWindows 2008マシンでは、常にキャッシュ内に270〜300のアイテムがあります。
私は困惑しています。答えは分かりませんが、次のいずれかの場合が考えられます。
- DNSリゾルバキャッシュのサイズを変更することはできません。
- 可能ですが、ドキュメントが間違っています。
- ドキュメントは正しい限りではあるが、不完全である。
- ドキュメントは正確で完全ですが、私はそれを理解するにはあまりにも愚かです。
- 文書化されたレジストリエントリは実際にキャッシュのサイズを変更しましたが、ipconfigはキャッシュ内のすべてのエントリを表示していません。
Windows XP、Vista、またはServer 2008でDNSリゾルバキャッシュのサイズを設定できるかどうかは誰にでも分かりますか?
値を変更した後にDNSクライアントサービスを再起動しますか? – Dave
それを試してみてください。変化なし。また、マシンを再起動しようとしました。 –