2015-11-01

いい感じの動画紹介サイトを作って、高速化した話

作ったもの

大人向けのエンタメ動画キュレーションするサイトを作ってみました。

18歳未満の人はみちゃだめです

http://videovdo.com/

高速化の話

このサイトRailsで作ってherokuに乗せてみたんですが、いかんせん遅い。

もちろんheroku札束で叩けばいくらでも早くなるんだけどそんなに予算もないし、そもそもそんなお金あったらこんなことしてない。

なのでどうにかしてお金を掛けずにサイト高速化する方法を考えてたら1つアイデアが浮かんだのです。

それはサイト全体をCDNのCloudfrontに突っ込んでしまう事。

やり方

ルートドメインDNS設定のCNAMEで、Cloudfrontドメイン指定します。

そしてCloudfrontオリジンherokuドメイン指定する。

こうすることでCSSとか画像ファイルだけでなく、HTMLも含めて全部のファイルキャッシュすることができます

そしてCloudfrontの設定で、HTMLファイル10分とか1時間とか割と短めに設定して、

CSSとかJSとかは、Railsで作っているとMD5キャッシュが効いていて、勝手キャッシュ無効化されるので、

1か月とかを指定すればよい。

効果

効果としては、heroku単体でやるとHTMLファイルの応答が600msぐらいかかっていたのが、Cloudfrontキャッシュさせると60msぐらいで帰ってくる。

もう超早い。10倍速い。

あとgzip配信したいので、gemheroku-deflaterを入れる。

このgemはすごくて、herokuに乗っていると勝手gzip圧縮してくれる。

これによってCloudfrontの利用料を節約する。

料金

僕のサイト場合、このherokuサーバーから配信しているのは、HTMLCSSが1ファイルとあと画像が1つで合わせて10kBぐらいしかない。

こんだけだと、Cloudfrontの料金は100万PVでも1000円いかないぐらい。

heroku札束で叩くのと違って、従量課金なのであらかじめ高いお金を払っておく必要もないし、

100万PV1000円ならまあ割と現実的価格なので、当分の間はこれで運営していこうかと思う。

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん