Safariでページ読み込みが遅いときの対処法|DNSプリフェッチのトラブルシューティング
Safariをはじめ、ほとんどすべてのブラウザには「DNSプリフェッチ」という機能が搭載されています。これは、Webページ内に埋め込まれたすべてのリンクを解析し、それぞれのリンク先の実際のIPアドレスをDNSサーバーに事前に問い合わせることで、Web閲覧をより快適にするための仕組みです。
DNSプリフェッチが正常に機能していれば、サイト上のリンクを選択した時点で、ブラウザはすでにIPアドレスを把握しており、即座に目的のページを読み込める状態になっています。その結果、ページ間を移動する際の応答速度が大幅に向上します。
では、なぜこの便利な機能が問題になるのでしょうか?実は、DNSプリフェッチには特定の条件下でいくつかの厄介な副作用があることがわかっています。現在では多くのブラウザがこの機能を採用していますが、本記事ではMacで最も人気のあるブラウザであるSafariに焦点を当てて解説します。
SafariでWebサイトを読み込む際、ページは表示されて一見コンテンツを読めるように見えるのに、スクロールしたりマウスカーソルを動かしたりすると、クルクル回るスピニングカーソルが表示され続けることがあります。更新ボタンのアイコンが回り続けていることにも気づくかもしれません。これらはすべて、ページ自体は正常に描画されているものの、何らかの原因でブラウザがユーザーの操作に応答できなくなっていることを示しています。
原因としてはさまざまな可能性が考えられます。ページ自体にエラーがある、サイトのサーバーが遅い、あるいはサードパーティの広告サービスなどページ外部の要素がダウンしている、といったケースです。こうした問題は通常一時的なもので、数分から数日程度で自然に解消されることが多いでしょう。
一方、DNSプリフェッチによる問題は少し様子が異なります。Safariのセッション中にそのサイトへ最初にアクセスしたときだけ、毎回同じ症状が現れるのが特徴です。たとえば朝一番にアクセスすると極端に反応が遅く、1時間後に再びアクセスすると問題なく表示される。そして翌日も同じパターンが繰り返される——初回アクセスだけ非常に遅く、それ以降のアクセスは快適、という具合です。
DNSプリフェッチで何が起きているのか?
先ほどの例で言うと、朝一番にサイトへアクセスしたとき、Safariはページ内にあるすべてのリンクに対してDNS問い合わせを送信します。読み込むページによっては、問い合わせの数は数件程度の場合もあれば、数千件に及ぶこともあります。特にユーザーコメントが大量にあるサイトや、フォーラム系のサイトでは顕著です。
問題は、Safariが大量のDNS問い合わせを送ることそのものではなく、古い家庭用ネットワークルーターがこのリクエスト負荷に耐えられないこと、あるいはISP(インターネットサービスプロバイダ)のDNSシステムがリクエスト量に対してキャパシティ不足であること、さらにその両方が重なっている点にあります。
DNSプリフェッチによるパフォーマンス問題には、簡単に試せる解決方法が2つあります。ここでは両方の方法を順番にご紹介します。
方法1:DNSサービスプロバイダーを変更する
最初の方法は、DNSサービスプロバイダーを変更することです。多くの人はISPから指定されたDNS設定をそのまま使っていますが、実はどのDNSサービスを利用するかは自由に選べます。筆者の経験では、地域のISPのDNSサービスはかなり品質が低く、プロバイダーを変更したのは大正解でした。あなたにとっても良い選択になるかもしれません。
まずはオンラインガイドの手順に従って、現在利用中のDNSプロバイダーの性能をテストしてみましょう。
確認の結果、変更を決めたら次は「どのプロバイダーを選ぶか」です。OpenDNSやGoogle Public DNSといった無料で人気の高いDNSサービスを試すのも良いでしょう。また、少し手間をかけても構わなければ、各種DNSサービスを比較テストできるガイドを参考に、自分の環境に最適なものを見つけることもできます。
利用するDNSプロバイダーを決めたら、MacのDNS設定を変更します。
DNSプロバイダーの変更が完了したら、Safariを終了して再起動し、問題が発生していたサイトに再度アクセスしてみてください。
サイトが正常に読み込まれ、Safariも快適に動作するようなら、原因はDNSプロバイダーにあったということです。念のため、Macをシャットダウンして再起動した後にもう一度同じサイトにアクセスして確認しましょう。問題が再現しなければ完了です。
それでも改善しない場合は、原因が別の場所にある可能性が高いです。元のDNS設定に戻しても構いませんし、上記で紹介したDNSプロバイダーのいずれかに変更したのであれば、そのまま使い続けても問題ありません。どちらも非常に優れたサービスです。
方法2:SafariのDNSプリフェッチを無効にする
それでも問題が解決しない場合は、そのサイトへのアクセスを避けるか、DNSプリフェッチ機能を無効化するという選択肢になります。
Safariの環境設定でDNSプリフェッチのオン/オフを切り替えられれば理想的ですし、サイトごとに無効化できればさらに便利ですが、残念ながら現時点ではどちらのオプションも用意されていません。そこで、別のアプローチでこの機能を無効にする必要があります。
「アプリケーション」フォルダ内の/Applications/Utilities(ユーティリティ)から「ターミナル」を起動します。
開いたターミナルウィンドウに、以下のコマンドを入力またはコピー&ペーストします:
defaults write com.apple.safari WebKitDNSPrefetchingEnabled -boolean false
EnterキーまたはReturnキーを押します。
その後、「ターミナル」を終了して構いません。
Safariを終了して再起動し、問題が発生していたサイトに再度アクセスしてください。今度は正常に動作するはずです。原因はおそらく家庭内ネットワークの古いルーターにあります。将来的にルーターを買い替えたり、メーカーが問題を解決するファームウェアアップデートを提供したりした場合は、DNSプリフェッチを再度有効に戻しましょう。手順は以下の通りです。
「ターミナル」を起動します。
ターミナルウィンドウに、以下のコマンドを入力します:
defaults write com.apple.safari WebKitDNSPrefetchingEnabled
EnterキーまたはReturnキーを押します。
その後、「ターミナル」を終了します。
以上で完了です。長期的に見れば、DNSプリフェッチは有効にしておく方が通常はメリットの大きい機能です。しかし、問題を抱えたサイトに頻繁にアクセスする場合は、DNSプリフェッチをオフにしておくことで、日々の閲覧がぐっと快適になります。
-
【完全解決】HPプリンターがページの半分しか印刷できない原因と対処法|プリンタートラブルシューティングガイド
多くのユーザーが印刷作業の際にさまざまなトラブルに直面しています。例えば、色が正しく印刷されない、意図したとおりにページが印刷されない、インクカートリッジの不具合などが挙げられます。中でもインクカートリッジの問題は、「プリンターがページの半分しか印刷できない」という症状を引き起こすことがあります。この問題は、特にHPプリンターのユーザーから多く報告されています。 HPプリンターがページの半分しか印刷されない原因とは? HPプリンターがページの半分しか印刷できなくなる原因は複数考えられます。主なものは以下の通りです。 インクが切れていると誤って認識している Wi-Fi経由の印刷に時間がかかり
-
MacでSafariが遅いときの対処法10選|快適なブラウジングを取り戻す方法
AppleはSafariを「最速のブラウザ」と謳っています。iOSでは確かにそうかもしれませんが、MacではSafariがあまりに遅く、筆者は普段Chromeを使うことが多いのが現実です。Webページが読み込まれない、ページ間を行き来できない、スクロールするたびにカクつく——そんな経験はありませんか?SafariはmacOSに標準搭載されているため、「最初から問題なく動いて当然」と期待するのは自然なことです。きちんと動けば最高のブラウザですが、調子が悪いときは別のブラウザへ乗り換えたくなるほどストレスになります。この記事では、MacのSafariを高速化するために試せるあらゆる方法を10個紹介