パフォーマンスの低下が見られる前に、Linuxシステムでの/ etc / hostsの理論上のサイズ制限が誰かに気付いたことがありますか?
さらに、予想される制限が何であるかを述べている公式ソースに誰かを向けることができますか?
パフォーマンスの低下が見られる前に、Linuxシステムでの/ etc / hostsの理論上のサイズ制限が誰かに気付いたことがありますか?
さらに、予想される制限が何であるかを述べている公式ソースに誰かを向けることができますか?
回答:
リゾルバは、テキストファイル全体の線形検索を使用してエントリを見つけます。インデックスのないデータベースです。したがって、追加のキャッシング機能がない場合、ルックアップのコストはO(n)になります。いつパフォーマンスが低下するかについては、答えるのは不可能な質問です。レコードごとに遅くなります。
データベースプログラマーまたは管理者と話をすると、インデックスルックアップ(O(log2(n))がフルテーブルスキャンよりも安くなるポイントについて異なる数字が得られますが、一般的には20の領域に答えがあります100レコードまで。
多くの名前(ホスト名だけでなく)を解決する必要があるLinuxシステム。nscdなどを実行している必要があります。そのようなキャッシュのほとんどは、パフォーマンスの問題を無効にするデータ自体にインデックスを付けます...
複雑/大規模なデータセットを管理する手段を提供しません-複数のIPアドレスを持つホストがある場合、hostsファイルを介したルックアップは常に最初のエントリを返します。
少しのインターネットの歴史-1984年にDNSが展開される前は、ホストファイルのみが名前を解決し、ネットワーク上にホストはあまりありませんでした-1983年2月に325 (RFC 847)。インターネット履歴メールリストのアーカイブには、1982年のHOSTS.TXTのコピー(ただし、機械可読ではありません)があります。代替のHOSTS.TXT (Geoff Goodfellow's)もありました。
技術的には、上限はありません。ただし、すべてのDNSルックアップがこのファイルにヒットするので、なぜそれを受け入れないのでしょうか?
価値のある/etc/hosts
ことですが、私の環境で配布した最大のファイルは1,200行でした。そして、それは私が管理していたアプリケーションにとってはうまくいきました。DNSは、その特定の環境ではオプションではありませんでした。