Googleアナリティクスに表示されるページビュー数も順調に伸びてきてブログが軌道に乗ってきたところで、
なんだか最近自分のブログの表示が遅いんだよな...
と体感できるくらい表示が遅く感じることはありませんか?
ページビューが伸びてきてからの現象であれば、パフォーマンスの良いレンタルサーバーに乗り換えする時期かもしれませんね。
スマホで閲覧する訪問者は、読み込みに3秒以上かかるとページが表示される前に直帰してしまいます。
だから表示速度の低下はブロガーにとって死活問題なんです。
目次
DNSのTTLってなに?
お名前.comのDNSレコード設定にTTLという項目があって3600と表示されていますが、何のことか意味分かりませんよね?
お名前.comによるTTLの説明
お名前.comのヘルプページには、
Time To Liveの略称。パケットの有効期間を表す値となり、数値が小さいほどレコードの保持時間が短くなります。60~86400 の範囲で設定が可能です。
と書かれています。でもどんな時に、どのように設定すればいいのかというところまでは書かれていないので補足したいと思います。
TTLはドメイン情報のキャッシュ期間のこと
以下の記事にも書いておりますように、TTLでセットされた値(秒)はドメイン情報のキャッシュ期間のことを意味しています。
TTLの値を変更するケース
結論から言えば、サーバーを移行や移設することによってサーバーのIPアドレスが変わる、その前後にTTLの値を変更することで、世界中のキャッシュDNSサーバーへの伝搬時間をコントロールすることができます。
TTLの値を変更するタイミング
設定されているTTLの値によって変更するタイミングは変わります。お名前.comの初期値3600の場合、キャッシュ期間は1時間なので、
DNSレコードのIPアドレスを切り替えるおおよそ2時間前を目処にTTLの値を変更すればいいと思います。
以下の図の❶から順に、名前解決の流れを目で追ってみると理解しやすいと思います。
フルサービスリゾルバがキャッシュを持っている場合
例えばTTLの値が86400の時、フルサービスリゾルバ(キャッシュDNSサーバー)には86400秒(1日)情報がキャッシュされます。
その間にあなたがお名前.comのDNSレコードを別のIPアドレスに変更したとしても、上の図のPCはフルサービスリゾルバのキャッシュ情報を参照します。
ということは、PCの画面には変更前のページ(サーバー)が表示されることになります。
一刻も早くパフォーマンスの高いサーバーに切り替えたい。でも世界中のフルサービスリゾルバ(キャッシュDNSサーバー)への伝搬が1日もかかるなんて、あなたは待てますか?
- www.superusers.jpのIPアドレスを教えて。(@PC)
- そのドメイン情報は持っています。
IPアドレスは133.130.89.76です。(@フルサービスリゾルバ)
TTL 60でDNSの伝搬時間を短縮
DNSの伝搬時間を短くするために、TTLの値を小さくします。
お名前.comでは60までTTLの値を下げることができるので、TTLを60に設定します。
これであなたのドメインのDNS情報は1分程度で書き換わり、新しいサーバーにアクセスを集めることができるようになります。
TTLの値を戻すタイミング
ここで気になるのが、TTLの値を元に戻すタイミングですね。
TTLの値が短い状態、特に60という値は頻繁にDNSの問い合わせが発生し、DNSサーバーに負荷を与えてしまいます。
またDNSキャッシュポイズニングと呼ばれる攻撃のリスクも高くなるため移行が完了後、速やかに元に戻すべき。
ただし移行後の新しいサーバーで動作検証を十分に行ってからTTLの値を元に戻しましょう(理想は1日の86400)。
この記事へのコメントはありません。