DNS検索が遅い原因と解決方法 — Chrome・Windows・Macで即効改善

ポイント

DNS検索が遅いと、ページの表示開始も、ページが読み込む新しいドメインごとの接続開始も遅れます。まず測りましょう。DNS速度テストか dig で、今のリゾルバーといくつかのパブリックDNSを比べます。私たちの自宅回線では、ルーターのDNSはキャッシュ済みの名前に3 msで答え、1.1.1.1は25 msでした。初めての名前にどのパブリックDNSが最速かは、その名前の置き場所しだいで変わるため、切り替えれば必ず速くなるわけではありません。今のリゾルバーが遅いなら、回線に合う最速のものに切り替え、ページのプリロードはオンのままにしましょう。

DNS検索の遅延を修正するガイド — ストップウォッチとDNSパケットが高速・低速ネットワークレーンを通過する様子
DNS検索の遅延を修正するガイド — ストップウォッチとDNSパケットが高速・低速ネットワークレーンを通過する様子
読み始める
  1. DNS検索時間とは?なぜ重要なのか
  2. DNS検索が遅くなる原因
  3. 現在のDNS検索時間を測定する方法
  4. 解決策1:より高速なDNSサーバーに切り替える
  5. 解決策2:DNSキャッシュをフラッシュする
  6. 解決策3:ブラウザのDNSプリフェッチを有効にする
  7. 解決策4:ChromeのDNSキャッシュをクリアする(古い答えが残るときだけ)
  8. 解決策5:ルーターでDNSを設定する
  9. 解決策6:CNAMEチェーンを削減する(サイト運営者向け)
  10. 解決策7:TTL値を増加させる(サイト運営者向け)
  11. 主要パブリックDNSサーバーの比較
  12. DNSが高速化されたことを確認する方法
  13. よくある質問

DNS検索時間とは?なぜ重要なのか

DNS検索時間とは、デバイスがドメイン名(例:example.com)をIPアドレスに変換するのにかかる時間のことです。これが終わるまで、接続もTLSもダウンロードも始まりません。

キャッシュ済みの答えなら、ルーターのキャッシュからは数ミリ秒、近くのパブリックリゾルバーからは10〜30 ms前後で返ります。リゾルバーが一度も見たことのない名前は、ドメイン自身のネームサーバーに問い合わせるため、数十ミリ秒以上かかります。たくさんのドメインからファイルを読み込むページは、新しいドメインごとにこの時間を払うことになります。

あなたの回線で最速のDNSサーバーは? 今すぐ測る

DNS検索が遅くなる原因

デバイスやネットワークでDNS検索が遅くなる、よくある原因は次のとおりです。

  • 遅い・混雑したリゾルバー — ISPやルーターのDNSサーバーの応答が遅い状態です。特にキャッシュにない名前で目立ちます。(まったく応答しない場合は、DNSサーバーが応答しない場合の対処法をご覧ください。)
  • 距離 — ネットワーク上で遠いリゾルバーは、検索のたびに往復の時間が加わります。
  • キャッシュに答えがないリゾルバー — 近くの誰も最近調べていない名前は、ドメイン自身のネームサーバーから取ってこなければなりません。
  • 長いCNAMEチェーン(サイト運営者向け) — リゾルバーがたどるエイリアスが増えるたびに、検索が1回増えることがあります。
  • とても短いTTL(サイト運営者向け) — 答えがすぐに期限切れになり、リゾルバーがドメインのサーバーへ何度も問い合わせます。
  • VPNやプロキシ — 検索が、自分から遠いリゾルバーに送られることがあります。
  • Wi-Fiや混雑したルーターでのパケット損失 — 失われたDNSパケットは再送まで待たされ、1秒以上の遅れになることもあります。

現在のDNS検索時間を測定する方法

修正する前に、現在のDNS速度を測定して、修正後と比較できるようにしましょう。DNS検索時間を確認する3つの簡単な方法を紹介します。

方法1:dig コマンドを使用(Mac/Linux)

dig コマンドは、DNSクエリ時間をミリ秒単位で正確に表示します:

bash
# Query your current DNS server
dig google.com

# Look for "Query time" at the bottom:
# ;; Query time: 24 msec

# Test a specific DNS server
dig @1.1.1.1 google.com
dig @8.8.8.8 google.com
dig @9.9.9.9 google.com

方法2:nslookup を使用(Windows)

nslookup はクエリ時間を表示しませんが、PowerShellなら近い値が得られます。-Server と -Type A を付けて数回実行し、中央値を比べましょう。

powershell
# Approximate lookup time in PowerShell (times the whole command)
Measure-Command { Resolve-DnsName example.com -Type A } | Select-Object TotalMilliseconds

# Against a specific DNS server (skips Windows' own cache)
Measure-Command { Resolve-DnsName example.com -Type A -Server 1.1.1.1 } | Select-Object TotalMilliseconds

方法3:Chrome DevToolsを使用

Chromeはすべてのネットワークリクエストに対してDNS検索時間を表示します:

任意のウェブサイトを開き → F12 を押してDevToolsを開き → Network タブに移動 → 任意のリクエストをクリック → Timing セクションを確認します。DNS Lookup の行に、そのドメインのDNS解決にかかった正確な時間が表示されます。

DNS検索時間が常に100msを超えている場合、DNSサーバーが遅い状態です。以下の修正方法が役立ちます。

解決策1:より高速なDNSサーバーに切り替える

測定の結果、今のリゾルバーが遅いなら、切り替えが最も大きな改善になります。選ぶのは、世界平均が最良のものではなく、あなたの回線で最速のものです。各プラットフォームでの変更手順は次のとおりです。

WindowsでDNSを変更する

  • 設定を開く → ネットワークとインターネット → Wi-Fi → 既知のネットワークの管理 → 使用中のネットワーク(有線の場合は、イーサネット → 使用中のネットワーク)
  • DNS サーバーの割り当ての横にある編集をクリックして、手動に切り替える
  • IPv4で、優先 DNS を 1.1.1.1、代替 DNS を 1.0.0.1 に設定する。IPv6では 2606:4700:4700::1111 と 2606:4700:4700::1001
  • 保存をクリックして、dig またはPowerShellでもう一度測る
  • Windows 10の設定にはDNS専用の項目がありません。Win + Rを押して ncpa.cpl を実行し、アダプターを右クリック → プロパティ → インターネット プロトコル バージョン 4 (TCP/IPv4) → プロパティ → 次の DNS サーバーのアドレスを使う、の順に開きます

macOSでDNSを変更する

  • システム設定を開く → ネットワーク → Wi-Fi(またはアクティブな接続)
  • 接続しているネットワークの横の詳細をクリック
  • サイドバーのDNSをクリック
  • 既存のエントリを削除して、1.1.1.1 と 1.0.0.1 を追加(IPv6を使うなら 2606:4700:4700::1111 も)
  • OKをクリック

LinuxでDNSを変更する

systemd-resolvedを使うディストリビューション(たとえばUbuntuやFedoraのデスクトップ)では、NetworkManagerで接続ごとにDNSを設定するか、resolvectl で次の再接続まで設定します。/etc/systemd/resolved.conf に DNS= を足すだけでは足りません。そのサーバーは、ネットワークが配るサーバーと並べて問い合わせられるためです。

bash
# NetworkManager: replace "Home Wi-Fi" with your connection name (nmcli con show)
nmcli con mod "Home Wi-Fi" ipv4.dns "1.1.1.1 1.0.0.1" ipv4.ignore-auto-dns yes \
  ipv6.dns "2606:4700:4700::1111 2606:4700:4700::1001" ipv6.ignore-auto-dns yes
nmcli con up "Home Wi-Fi"

# systemd-resolved, until the next reconnect (replace wlan0 with your interface)
sudo resolvectl dns wlan0 1.1.1.1 1.0.0.1
resolvectl status wlan0

解決策2:DNSキャッシュをフラッシュする

キャッシュに残った失敗や古い答えは、期限が切れるまで遅れの原因になります。フラッシュすると保存済みの答えがすべて消え、次の検索は新しく送られます(詳しい手順:DNSをフラッシュする方法)。

お使いのOSに合ったコマンドを実行してください。

bash
# Windows (Command Prompt)
ipconfig /flushdns

# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Linux (systemd-resolved)
sudo resolvectl flush-caches

# Verify cache is empty (Windows)
ipconfig /displaydns

解決策3:ブラウザのDNSプリフェッチを有効にする

ブラウザは、必要になる前に名前を調べておくことができます。Firefoxはページがリンクしているドメインを解決し、Chromeは(ページのプリロードがオンなら)次に開きそうなページを解決して接続まで進めます。サイトも、使うドメインに dns-prefetch のヒントを付けられます。Chromeは、すべてのリンクのドメインを自分から先読みすることはもうありません。自動で行うのは、通常のhttp:ページだけです。

これらの設定は初期状態でオンですが、オフになっていることがあります。確認の手順は次のとおりです。

ChromeのDNSプリフェッチ設定

Chromeでは、DNSプリフェッチはページのプリロードの一部です。

  • Chromeを開く → 設定 → パフォーマンス → ページをプリロードする
  • オンにする(標準のプリロードが初期設定です)
  • これで、次に開きそうなページの名前解決と接続、場合によっては読み込みまで、Chromeが先に進めてくれます

FirefoxのDNSプリフェッチ設定

FirefoxはDNSプリフェッチをサポートしていますが、意図せず無効になっている場合があります:

  • アドレスバーに about:config と入力してEnterを押す
  • 検索する:network.dns.disablePrefetch
  • false になっていることを確認(false = プリフェッチ有効。初期値です)
  • もう1つ確認:network.dns.disablePrefetchFromHTTPS が false(初期値)なら、HTTPSのページでもプリフェッチされます

解決策4:ChromeのDNSキャッシュをクリアする(古い答えが残るときだけ)

Chromeは、OSとは別に自分のDNSキャッシュを持っています。このキャッシュが検索を遅くすることはなく、クリアしても速度が長く変わるわけではありません。ただ、あるサイトについてChromeが古い答えや失敗した答えを持っているときは、OSのキャッシュだけをフラッシュしても、そのサイトはChromeでは直りません。

ChromeのDNSキャッシュをクリアする手順は次のとおりです。

  • Chromeを開き、アドレスバーに chrome://net-internals/#dns と入力
  • 「Clear host cache」をクリックしてChromeの内部DNSエントリをフラッシュ
  • 同様に chrome://net-internals/#sockets にアクセスし、「Flush socket pools」をクリックして残留接続を閉じる
  • Chromeを再起動して完全に新しいDNS状態にする

解決策5:ルーターでDNSを設定する

ルーターでDNSを変更すると、ネットワーク上のすべてのデバイス(スマートフォン、タブレット、スマートTV、ゲーム機)に高速DNSサーバーが適用されます。個別に設定する必要はありません。

ほとんどのルーターでDNSを変更する方法:

  • ルーターの管理ページを開く(通常は 192.168.1.1 または 192.168.0.1)。ルーターログインガイドに、80以上のルーターとプロバイダーのアドレスと初期パスワードをまとめています
  • ログイン:ルーターの管理者アカウントを使います(変更していなければ、ルーター本体のラベルを確認)
  • DNS設定を探す — 通常はWAN設定、インターネット設定、またはDHCP設定にあります
  • プライマリDNSを 1.1.1.1、セカンダリDNSを 1.0.0.1 に変更
  • 保存して、ルーターを再起動し、変更を反映させる

解決策6:CNAMEチェーンを削減する(サイト運営者向け)

この対策は、サイト運営者や開発者向けです。エイリアス(CNAME)は、キャッシュにないとき1つにつき検索が1回増えることがあります。リゾルバーは、実際のIPアドレスを持つAまたはAAAAレコードに行き着くまで、チェーンをたどらなければなりません。

典型的なCNAMEチェーンは次のようになります。

dns
www.example.com   CNAME  example.com.cdn.example.net
example.com.cdn.example.net  CNAME  edge-123.cdn.example.net
edge-123.cdn.example.net     A      203.0.113.10

# Each alias may need its own lookup when it isn't cached,
# especially when the names sit on different DNS providers.

ドメイン直下のチェーンを短くするには、CNAMEフラットニング(ALIASレコードとも呼ばれます)を使います。DNSプロバイダーがチェーンを自分でたどり、最終的なIPアドレスを返す仕組みです。Cloudflare(CNAMEフラットニング)とDNSimple(ALIAS)は、どんな宛先でもこれを行えます。Route 53のエイリアスレコードは、AWSのリソースと同じホストゾーン内のレコードに対してだけ使えます。

CNAME Lookupなら、任意の名前についてチェーン全体をたどり、各ホップを表示します。

解決策7:TTL値を増加させる(サイト運営者向け)

TTL(Time to Live)は、DNSリゾルバーがドメインのレコードをキャッシュする時間を決めます。TTLが60秒なら、リゾルバーがネームサーバーに問い合わせるのは、誰かがその名前を尋ねたときに限り、最大で1分に1回です。3600秒(1時間)なら、キャッシュした答えを1時間返し続けます。

TTLを長くすると、リゾルバーは答えを長く保持し、ネームサーバーへの問い合わせが減ります。代わりに、変更が全員に届くまで時間がかかります。

TTL値キャッシュ時間向いている用途
601分頻繁に変わるレコード(フェイルオーバー、負荷分散)
3005分ときどき変わるレコード
36001時間安定したレコード
8640024時間ほとんど変わらないレコード(MX、TXT)

主要パブリックDNSサーバーの比較

主要なパブリックリゾルバーについて、DNSPerfの世界平均(2026年10月4日に確認)と、各社がログについて公表している内容をまとめました。実際の結果は環境によって変わるので、必ず自分で測ってください。

DNSプロバイダープライマリセカンダリDNSPerf世界平均ログその他の機能
Cloudflare1.1.1.11.0.0.113.63 msIPはディスクに保存しない(ごく一部のランダムなサンプルを除く)DNSSEC、DoH、DoT
Google Public DNS8.8.8.88.8.4.419.47 ms完全なIPを24〜48時間保持DNSSEC、DoH、DoT
Quad99.9.9.9149.112.112.11221.62 msIPアドレスはログに残さないDNSSEC、DoH、DoT、マルウェアブロック
OpenDNS208.67.222.222208.67.220.220—非公開フィッシングブロック、フィルタリング

アドレス一覧と設定手順の詳細:Cloudflare DNSサーバーのガイドとGoogle DNSサーバーのガイド。

あなたの環境でどれが最速かは、DNS RobotのDNS スピードテストをブラウザで実行して確かめられます。dig @1.1.1.1 example.com と dig @8.8.8.8 example.com を数回ずつ実行して比べる方法もあります。

DNSが高速化されたことを確認する方法

上記の修正を適用した後、DNS速度を再度測定して改善を確認しましょう。

bash
# Mac/Linux: Compare before and after
dig google.com      # Should show lower query time
dig amazon.com      # Test multiple domains
dig github.com

# Windows PowerShell
Measure-Command { Resolve-DnsName google.com } | Select-Object TotalMilliseconds

# Check Chrome DevTools
# Open any page → F12 → Network tab → look at DNS Lookup timing

新しい数値を最初の測定と比べましょう。ほとんど変わらなければ、元のリゾルバーは原因ではありません。Wi-Fiのパケット損失、VPN、サイト側を調べてください。

あなたの回線で最速のDNSサーバーは?

DNS RobotのDNS スピードテストは、Cloudflare、Google、Quad9ほか9つのパブリックリゾルバーをブラウザから測り、キャッシュ済みの応答時間で順位を付けて、1位と現在のDNSを比べます。

出典

  1. DNSPerf resolver ranking, DNSPerf
  2. Firefox prefs (network.dns.disablePrefetch), Mozilla

よくある質問

良いDNS検索時間はどのくらいですか?

キャッシュ済みの答えなら、近くのリゾルバーから数ミリ秒〜数十ミリ秒で返るのが目安です。初めての名前は30〜100 msほどかかることが多くなります。ほとんどの検索が100 msを大きく超えるなら、リゾルバーか回線が遅く、直す価値があります。

ChromeのDNS検索が遅い場合、どう修正しますか?

自分のリゾルバーをパブリックDNSと比べ(DNS速度テストか dig)、自分のほうが遅ければ切り替えます。設定 → パフォーマンス → ページをプリロードする はオンのままにしておくと、Chromeが次に開きそうなページを早めに解決します。chrome://net-internals/#dns でChrome自身のキャッシュをクリアして効果があるのは、特定の1サイトに古い答えや失敗した答えが残っているときだけです。

Cloudflare DNS(1.1.1.1)はGoogle DNS(8.8.8.8)より速いですか?

DNSPerfの世界平均(2026年10月4日に確認)では、はい。13.63 msに対して19.47 msです。ただし自分の回線では、どちらが速いか変わります。私たちの自宅回線では、キャッシュ済みの名前はCloudflareのほうが速く(25 msに対して31 ms)、他社のDNSにある初めての名前では、Google(約50 ms)とQuad9(約36 ms)がCloudflare(78〜143 ms)を上回りました。自分のネットワークから測ってください。

DNSサーバーを変更しても遅い場合はどうすればよいですか?

ローカルに古いキャッシュが残っているのかもしれません。ipconfig /flushdns(Windows)または sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder(Mac)でフラッシュしましょう。ルーターが端末のDNS設定を上書きしていないか、新しいリゾルバーが自分の回線から本当に速いかも確認してください。ISPやVPNの中には、設定したサーバーに関係なくDNSクエリを横取りするものもあります。

DNS変更でインターネットは速くなりますか?

今のリゾルバーが遅かったなら、新しいサイトを開き始めるまでの待ち時間は短くなります。ダウンロード速度が上がることはありません。まず測りましょう。多くの回線では、プロバイダーのリゾルバーがすでにどのパブリックDNSにも負けない速さです。

WindowsでDNS検索時間を確認する方法は?

PowerShellを開いて次を実行します。Measure-Command { Resolve-DnsName example.com -Type A -Server 1.1.1.1 } | Select-Object TotalMilliseconds。コマンド全体の時間を測るので、おおよその値です。サーバーごとに数回実行し、中央値を比べてください。

Chrome DevToolsでDNS Lookupが遅い原因は何ですか?

DevToolsのDNS Lookupの値が高いのは、その名前がキャッシュになくリゾルバーの応答が遅かったか、CNAMEチェーンで何回も検索が必要だったことを意味します。自分のリゾルバーをパブリックDNSと比べ、遅ければ切り替えてください。

DNSはルーターで変更すべきですか、各デバイスで変更すべきですか?

ルーターでDNSを変更すると、ネットワーク上のすべてのデバイス(スマートフォン、タブレット、スマートTV、ゲーム機)に自動的に適用されます。ほとんどの方にはこの方法が最適です。ルーターでDNS変更ができない場合や、特定のデバイスに異なる設定が必要な場合にのみ、デバイス単位で変更してください。

VPNはDNS検索を遅くしますか?

多くの場合、はい。VPNはDNSクエリを独自のサーバー経由でルーティングしますが、そのサーバーはローカルDNSよりも遠い場所にあったり、速度が遅かったりする場合があります。一部のVPNはDNSクエリに暗号化オーバーヘッドも追加します。VPN使用中にDNSが遅い場合は、スプリットトンネリングを有効にするか、VPNの組み込みDNS設定を使用してみてください。

ウェブサイトのDNS検索を削減する方法は?

ウェブサイトがリソースを読み込む外部ドメインの数を最小限にしてください。DNSプリフェッチヒント(<link rel="dns-prefetch">)を使用し、CNAMEフラットニングでCNAMEチェーンを排除し、DNSのTTL値を増加させ、リソースを少数のドメインに統合してください。

著者について

Shaik Vahid

DNS Robot 創設者. Vahid は長年 Web ホスティングのサポートで、お客様のドメイン、DNS レコード、SSL 証明書、メール配信の問題を解決してきました。DNS Robot のツールを開発し、実際によく起きるエラーをもとにこれらのガイドを書いています。

DNS速度テスト

Cloudflare 1.1.1.1、Google 8.8.8.8などの公開DNSサーバーをブラウザーから計測し、現在のDNSと比べて最速のサーバーを見つけます