- 2010年9月19日 15:57
- Internet & Networking | Mac
今月更新があったApple サポート情報でちょっと気になる内容の文書が。
Safari 5.0.1 or later: Slow or partial webpage loading, or webpage cannot be found
最終更新日: 14 9月, 2010
記事: TS3408
Webサイトのページ閲覧の際、リンクをクリックしてからDNS名前解決を行うのではなく、ページが表示された時点でそこに含まれるリンク先のDNS名前解決を予め済ませておくことで全体的な読み込み時間短縮=高速化を行う「DNSプリフェッチ」という機能があります。Firefox 3.5〜やChromeなどDNSプリフェッチ機能が実装されている模様。
→MDC: DNS プリフェッチの制御
→The Chromium Projects: DNS Prefetching
TS3408によると、Mac OS X/Windows版のSafari 5.x (5.0.1以降) でも実装されたDNSプリフェッチ機能の影響で、ユーザーのネット環境によっては以下のように速度低下や正常にページ読み込みできなくなることがあるそうです。
- ページ読み込み速度が遅い
- 一部分だけ読み込まれず不完全なページ表示
- ページが見つからない旨のメッセージ表示
必ずしも全員に現象が発生するわけではない点に注意。特に速度問題は、個々のMac/Windowsパソコン、ソフトウェア、ルーター、ネット回線、アクセス先サイト、時間帯といろいろ要因が重なって発生するので、同じ原因ではないかもしれません(´・ω・`) 。
比較用に、Safari以外のWebブラウザーでのページ表示動作も確認しておくといいかも。
[1] Try a different DNS service
まずは、ユーザーが行える対処方法として、ルーターのDNS設定を異なるDNSへ変更することが文書で案内されています。通常、契約しているプロバイダー指定のDNSを設定、または自動設定されていると思いますので、Googleの公開DNSなどに切り替えてお試しください。
- OpenDNS (http://www.opendns.com/)
- Google DNS (http://code.google.com/speed/public-dns/)
- Or, search the Internet on "Third-party DNS services" for more options and information
Google Public DNSのサーバーIPアドレスは、8.8.8.8, 8.8.4.4 と覚えやすいので、こういうときにも便利ですね。
→Apple: Mac OS X 10.6 Help: DNS と検索ドメインの設定を編集する
Safariでの問題が発生し続ける場合、元のDNSサーバー設定に戻した上で、次に進んでください。
[2] Disable DNS prefetching if the issue persists
Mac OS XまたはWindows上でターミナルを起動し、DNSプリフェッチ無効 (Disable) 化を行う以下のコマンドを入力してみます。
defaults write com.apple.safari WebKitDNSPrefetchingEnabled -boolean false
もしもの際に、有効に戻す場合のコマンドはこちら。
defaults delete com.apple.safari WebKitDNSPrefetchingEnabled
ここまでしても効果がみられない場合は、DNSプリフェッチを無効化した状態で、使用しているルーターのファームウェア最新版へのアップデート&ルーター再起動を。
動作するようになったら、DNSプリフェッチ有効化へ戻しておきましょう。
- Keep DNS prefetching disabled.
- See if your router has a firmware upgrade available that might address this issue. Contact your router's support staff or visit their website for more information about how to obtain and install router firmware updates.
- Upgrade to a more modern and robust router.
▼Apple - Support - Safari 5.0.1 or later: Slow or partial webpage loading, or webpage cannot be found
▼Macworld - Bugs & Fixes: DNS prefetching can cause Safari problems
