DNS(ドメインネームシステム)が特定のホスト名またはドメイン名のIPアドレスを解決するのに約20〜120ミリ秒かかり、プロセスが適切に完了するまでブラウザは何もできません。
ブラウザがWebサーバーへのネットワーク接続を確立する前に、WebサーバーのDNS名をIPアドレスに解決する必要があります。 DNS解決はクライアントのブラウザーとオペレーティングシステムによってキャッシュできるため、有効なレコードがクライアントのキャッシュにまだある場合、遅延は発生しません。ただし、クライアントがネットワーク上でDNSルックアップを実行する必要がある場合、遅延は、有効な応答を提供できるDNSネームサーバーの近接度によって大きく異なります。
だから...どのように/サーバー側の最適化などでこのDNSルックアップを減らす方法はありますか?私はここで無力ですか、それともウェブページ/ホスティングプロバイダーのサイズに依存しますか?
DNSルックアップは、クライアントがWebページの読み取りを開始する前に行われるため、ページサイズについて心配する必要はありません。 DNSは基本的にドメイン名をIPアドレスに変換するプロセスなので、myexample.com --> 123.45.678.9
であり、この変換はページ自体がIPアドレスから要求される前に行われる必要があることに注意してください。ページは小さい場合も非常に大きい場合もあり、DNSルックアップにも同じ時間がかかります。
したがって、DNSルックアップ時間を短縮する場合は、クライアントからそれほど遠くない場所に非常に信頼性の高いDNSサーバーがあることを確認する必要があります。それは次を意味する可能性があります。
個人的には、自分が何をしているかを本当に知っていて、そうする強い理由がない限り、自分のDNSサーバーをホストすることはお勧めしません。ほとんどすべての場合、私が言及したプロバイダーの1つを使用した専用DNSホスティングのコストが比較的低いため、それがより良い選択になります。
通常、バインドなどのすべてのDNSリゾルバーにはDNSキャッシュがあります。 x.x.x.xがDNSサーバーの場合、入力するとき
Dig A averyuncommonebsite.com @x.x.x.x
応答時間の最初の2つの数字を取得します。次に、2回目に要求すると、応答がBINDであるDNSリゾルバーのキャッシュにあるため、1ミリ秒で応答が返されます。したがって、DNS応答時間を制御するために、独自のDNSリゾルバーを構築できます。