DNS

MacでDNSが遅い

新しいサイトを読み込むには、その前にDNSの検索が必要です。リゾルバが遅いと、回線が速くても、ページごとに読み込み開始までの遅れが加わります。

対象:「システム設定」の手順はmacOS 13 Ventura以降。ターミナルのコマンドは現在のすべてのmacOSバージョンで使えます。確認日:2026年10月29日

症状

  • ページが数秒待たされてから、すばやく読み込まれます。
  • サイトへの最初のアクセスは遅く、2回目は速くなります。
  • 速度テストの結果は良いのに、Webの閲覧が遅く感じます。

考えられる原因

  • 遅い、または混雑したDNSサーバ。ルーターやプロバイダのDNSサーバの応答が遅くなっています。
  • 応答しないDNSサーバ。最初のサーバがタイムアウトすると、リゾルバは次のサーバを試します。タイムアウトのたびに遅れが加わります。
  • 検索ドメインが多すぎる。短い名前の場合、リゾルバは検索ドメインを1つずつ順に試します。サーバが遠いと、これに時間がかかります。
  • 経路上のVPNやフィルタ。VPNが、すべてのDNSクエリをトンネル経由で遠くのサーバに送っていることがあります。

確認方法

  1. macOSが使っているDNSサーバと検索ドメインを表示します。

    scutil --dns
  2. macOSのリゾルバで名前検索を1回測定します。これを2回行います。2回目の結果はキャッシュから返ることがあります。

    time dscacheutil -q host -a name example.org
  3. 不要な検索ドメインがないか確認します。

    networksetup -getsearchdomains Wi-Fi

解決方法

  1. 応答しないDNSサーバを削除します。アップルメニュー>「システム設定」>「ネットワーク」と選択します。

  2. ネットワークサービスをクリックし、「詳細」をクリックしてから、「DNS」をクリックします。応答しないサーバを削除します。

  3. 別のDNSサーバを使うには、「DNSサーバ」リストの下にある追加ボタン(+)をクリックし、IPアドレスを入力します。

  4. 不要な検索ドメインを削除します。「検索ドメイン」リストの下にある削除ボタン(−)を使います。

  5. すべてのデバイスでルーターのDNSが遅い場合は、ルーターを再起動します。

  6. 改善しない場合は、変更を元に戻します。「DNSサーバ」リストを空にすると、再びネットワークから割り当てられるサーバが使われます。

Kilobatを使う場合

  1. システムのリゾルバをCloudflare、Google、Quad9と比べます。決める前に2回実行してください。

    kilobat dns-benchmark

    出力リゾルバごとに1項目。resolver、milliseconds、3回中のreplies。

  2. 1つの遅いサイトについて、DNS、接続、TLS、最初の1バイトに分けて時間を測ります。

    kilobat http-check https://example.org --json
  3. CLIからDNSを変更します。macOSが管理者パスワードを求めます。元に戻すにはautomaticを使います。

    kilobat dns cloudflare
  4. CLIは無料です。アプリでは、DNSの切り替えはProの機能で、「自動」は無料のままです。より速いDNSを選ぶを参照してください。

よくある質問

パブリックDNSサーバのほうが必ず速いのですか?

いいえ。近くにあるリゾルバのほうが速いこともあります。変更する前に、システムのリゾルバとパブリックなリゾルバを測定してください。

DNSキャッシュを消去するとDNSは速くなりますか?

いいえ。消去で削除されるのは古い応答です。その後の名前検索は、もう一度サーバに問い合わせる必要があります。

出典

出典は2026年10月29日に確認しました。manページはmacOSに付属のものです。「ターミナル」でman <name>を実行すると開けます。