CDNを導入するとサイトの速度UPに繋がるのか
https://scrapbox.io/files/61888caaedf7c5001ddede53.png
https://scrapbox.io/files/61888cb1aed4b3001dd82dff.png
https://scrapbox.io/files/61888cc00cd095001f40e46e.png
CDN(Contents Delivery Network)
大容量のデジタルコンテンツをインターネット上で大量配信するためのネットワークのことです。
CDNでは、大量配信や高速配信に耐えうるような最適化が施されています。
CDNがやってること
世界中のキャッシュサーバーに、オリジンサーバーのデータをキャッシュしている。
キャッシュ対象となるのは主に静的ファイルなどになる。ただし、動的データでも時間が経っても変化のないようなもの、変化の頻度が少ないものを対象にもする。
むしろ動的データをいかに静的に近づけるからで、レスポンス改善度が大きく変わる。
WordPressなどの動的コンテンツもCDNでキャッシュする価値あり。
【図解】CDNとは?仕組みと技術の基礎知識 - カゴヤのサーバー研究室
ブログページなどは動的に作成するものだとしても、更新頻度が少ないのでCDNに向いてるデータである。
CDNを利用するメリットは大きく2つ
1.iconサーバーやネットワークの負荷を軽減する
世界中に散らばるキャッシュサーバーがオリジンサーバーの代わりにアクセスを受け付けて、オリジンに通すことなく返すことが多い。
それによって自ずとオリジンサーバーの負荷も下がる。また、オリジンサーバーがあるネットワークへの負荷も下がる。
2.iconサーバーのレスポンスを改善できる可能性がある
改善できる理由は3つくらい
1. オリジンまでデータを取りに行かないので、計算時間やネットワークレイテンシが削減される。
2. クライアントとキャッシュサーバーの距離が近いため、レイテンシを削減できる。
3. オリジンにアクセスが集中しないので、ネットワークの混み具合を改善できる。
CDNを利用するデメリット・注意点
1.iconファイルの更新が遅れる場合がある
データをキャッシュするのはいいが、いざ更新しないといけない時に反映が遅れることがある。
それが原因でUXに影響が出る可能性もある。「更新したのに反映されないなぁ...」みたいな。
2.icon設定を誤ると「キャッシュ事故」が起きる
セキュリティ面の話。ex:「メルカリ CDN 事故」
個人情報をCDNでキャッシュしてしまうと、その情報が別の人に流れる。
何をCDNでキャッシュするか?は慎重に設定しないとOUT。
コラム:CDNとブラウザキャッシュの違い
ブラウザキャッシュは、ユーザー一人だけで利用するキャッシュになる。
CDNは、ユーザー全員が利用できるキャッシュになる。
どういうこと?
Aさんが静的コンテンツ①を利用して、ブラウザにファイルをキャッシュしても、Bさんはそのキャッシュを利用できない。別々のPCだから。
でも、CDNにファイルをキャッシュしてると、Aさんが利用した後のキャッシュをBさんも利用することができる。
CDNを使った方がユーザーへの応答速度をより速くすることができる。(キャッシュを共有することから)
でも全部を全部CDNでキャッシュしてしまうと...
個人情報が漏洩する恐れがあったりする。
他の人の個人情報ページをキャッシュしてしまうなど。
参考.icon
【図解】CDNとは?仕組みと技術の基礎知識 - カゴヤのサーバー研究室
インターネット用語1分解説~CDNとは~ - JPNIC
CDNってそもそも何?なんかサーバの負荷が下がるって聞いたんだけど!〜Web制作/運営の幅が広がるCDNを知ろう第1回〜 | さくらのナレッジ
【特集】ネットの大規模障害が起きた「CDN」って何?実際にアクセスして確かめてみた - PC Watch
CDNが原因で世界規模のネット障害 | 日経クロステック(xTECH)
第3回 CDN の 仕組み (高速化出来る理由) | REDBOX Labo