iPhoneの通信速度を少し速くしてみた。

iPhoneの無線LAN(Wi-Fi)通信の速度を速くするために、何かしらできることはないかと思っていたが、Google Public DNSを設定すればホスト名解決時のDNS Queryがほんの少しスピードアップするのでは?と思った。

ただ、闇雲にGoogle Public DNSにしても速いかどうかわからないので、PCでいくつかのDNSサーバーの応答速度を測定してみることにした。

現在のiPhone5の設定を確認

iPhoneのWi-FiはDHCPでアドレス割り当てを行なっていて、これは、NTTフレッツ光のルーターがDHCPサーバーになっている。

このとき、どのようにDNSサーバーのIPが割り当てられているか確認してみた。
「設定」

「Wi-Fi」画面で、 自分の利用しているWi-Fiアクセスポイントを選択する。

iPhone Wi-Fi Settings


iPhone_cuurent
すると、ウチの環境では、192.168.5.1と、NTTフレッツ光のルーターが設定されている。

※「2408:80:bd6:・・・」というIPv6アドレスはおそらくフレッツ網のDNS?

DNSサーバーの応答速度を測定

Google Public DNS(8.8.8.8、8.8.4.4) と、NTTフレッツ光のルーター(192.168.5.1)、プロバイダの提供DNSをDomain Name Speed Benchmarkで比較してみた。

※ NTTフレッツ光のルーター(192.168.5.1)には、DNSに8.8.8.8を指定している。

測定した結果は次のようになった。(Uncached Nameの主なものを抜粋)

DNS Benchmark result
No. DNS Uncached Name Average(s)
1 NTT America Technical Operations 0.082
2 プロバイダ提供DNS 0.092
3 Google Public DNS(8.8.8.8、8.8.4.4) 0.13
4 NTTフレッツ光のルーター(192.168.5.1) 0.14

NTT America Technical Operationsが速いがこれは、Publicなものかどうか不明なのでSKIP。

NTTフレッツ光のルーターやGoogle Public DNSより、プロバイダ提供するDNSの方が40~50msくらい速い。

キャッシュされていないホストのコンテンツを見る場合は微妙に速いようだ。

キャッシュされている場合も、若干の差だが、プロバイダ提供DNSが5msほど速い。

※ あくまでもウチでの計測結果です。利用回線や地域、プロバイダ等によって結果は異なります。

iPhoneのWi-FiのDNSをプロバイダが提供するDNSに設定

「設定」→「Wi-Fi」→「アクセスポイント」画面でDHCPで割り振られたDNSのアドレスを消し、プロバイダ提供DNSのアドレスを入力した。(DNS2つの場合は「,」で区切って2つ記載する。)

iPhone Wi-Fi DNS Settings

結果、ブラウザの表示速度が少し速くなったような気がする。

気のせいに近い?5~50msくらいは速いはずだが…

その他

ついでに見つけた情報Google Public DNS FAQによると、akamaiなどのCDN(コンテンツを高速に配信するための分散配信のしくみ)とGoogle Public DNSは相性が悪く、ネットワーク的に「遠い」CDN配布ポイントを返すことがあるらしい。

しかも、Akamai Technologiesによると、Apple、iTunes Store、Microsoftとか、akamaiを使ってるかもしれない。

そういえば、少し前に画像等ををakamaiに置いている銀行系のサイトで、CDNなのに随分遅いと思ったことがあった。

闇雲にGoogle Public DNSを設定するとまずいようだ。

ルータのDNSの代行機能やプロバイダ提供DNSがとても遅い・キャッシュヒット率が低い場合にGoogle Public DNSを設定したほうが結果的には良さそうだ。

これからはDNSの測定をやってどのDNSサーバーを使うかは総合的に判断しよう