本当にあったケチくさい話

31
本当にあったケチくさい話 山口貴史

Upload: takashi-yamaguchi

Post on 13-Apr-2017

1.220 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: 本当にあったケチくさい話

本当にあったケチくさい話

山口貴史

Page 2: 本当にあったケチくさい話

株式会社 Candle

創業メンバー、CTO

山口貴史 Yamaguchi Takashi

東京大学 4年

エンジニア歴 1年半

Page 3: 本当にあったケチくさい話

Topicks | トピックス エンタメ情報まとめメディア

Healthil | ヘルシル 健康医療情報まとめメディア

Carcast | カーキャスト 自動車・バイク情報まとめメディア

mimiTV 女の子のためのYoutubeチャンネル

Knowsia大型メディアプラットフォーム

Page 4: 本当にあったケチくさい話

スタートアップ初期は、お金がなかった。

バイトも辞めたので収入源がない。

節約志向

Page 5: 本当にあったケチくさい話

本当にあったケチくさい話

Page 6: 本当にあったケチくさい話

丸亀製麺での オーダー改善による コスト削減について

本当にあったケチくさい話

Page 7: 本当にあったケチくさい話

普通にコストを削減した場合

Page 8: 本当にあったケチくさい話

徹底的にコストを削減した場合

ダシ: 0円 ごはん: 130円 ネギ: 0円 天かす: 0円 生姜: 0円

Page 9: 本当にあったケチくさい話

丸亀製麺130円天丼!

Page 10: 本当にあったケチくさい話

さておき、

Page 11: 本当にあったケチくさい話

サーバーのパフォーマンスチューニングとコスト削減

本当にあったケチくさい話 #2

Page 12: 本当にあったケチくさい話

• 各種サーバーのランニングコスト  アクセス数が増加して負荷が増えると、より多くの台数、高いスペックが必要になるので、サーバー費が高くなる。

• インターネットへのデータ転送料金  (Html , CSS , JS , 画像 , etc.)  データ量に比例してお金がかかる。 →画像の多いサービスでは高くなりやすい。

Webメディアはどこにサーバー費がかかるのか?

Page 13: 本当にあったケチくさい話

実際、サーバー費は どれくらいかかるのか?

Page 14: 本当にあったケチくさい話

事例1(当時、若干不備のあったインフラ構成)• 月間PV数: • 月間サーバー費: • 1PVあたりのコスト:

• 月間PV数: 60万PV

• 月間サーバー費: 4.5万円

• 1PVあたりのコスト: 0.075円

事例2(よくあるインフラ構成の場合)

200万PV

35万円

0.175円

Page 15: 本当にあったケチくさい話

月間 ビュー数

月間 サーバー費

1PVあたりの コスト

事例1 200万PV 35万円 0.175円/PV

事例2 60万PV 4.5万円 0.075円/PV

Topicks 1000万PV ???万円 ???円/PV

Page 16: 本当にあったケチくさい話

月間 ビュー数

月間 サーバー費

1PVあたりの コスト

事例1 200万PV 35万円 0.175円/PV

事例2 60万PV 4.5万円 0.075円/PV

Topicks 1000万PV 5万円 0.005円/PV

Page 17: 本当にあったケチくさい話

コストとパフォーマンスを 改善させるために行った

施策について

本当にあったケチくさい話 #2(続き)

Page 18: 本当にあったケチくさい話

施策1:キャッシュの最適化

• CakePHPのキャッシュのシステムを実装。

• サーバーの負荷が約10分の1程度にまで激減!

Page 19: 本当にあったケチくさい話

施策2:gzip圧縮

• HTML,CSS,JSなどのファイル圧縮技術。

・ファイルサイズが約4分の1に縮小!

→HTML,CSS,JSのデータ転送料もそのまま75%削減!

Page 20: 本当にあったケチくさい話

施策3:CloudFlare導入

• CDN(広域負荷分散システム)の1つ。代表的なCDNサービスにAkamaiやCloudFrontがあります。

• 簡単に言うと、画像ファイルなどをキャッシュしてくれるサービス。

• 特徴:基本無料

Page 21: 本当にあったケチくさい話

キャッシュがヒットした分の転送量はなんと無料

Page 22: 本当にあったケチくさい話

最大キャッシュヒット率99%を達成

画像転送量最大99%削減!(平均でも80%程度削減)

Page 23: 本当にあったケチくさい話

施策4:HTML,CSS,JSのコードの最適化による表示速度改善

• 「極限までコンパクトに」 • 保守性は保つ。

• リクエスト数の削減→CSS,JSは1つずつ

• 不要なCSSの削除→約15kB

• jsライブラリの機能を独自で実装→約1.2kB

Page 24: 本当にあったケチくさい話

ちなみにパフォーマンスは?

Page 25: 本当にあったケチくさい話

他社サイト • NAVER まとめ

• MERY [メリー]

• nanapi [ナナピ]

• iemo[イエモ]

• kaumo[カウモ]

弊社運営3サイト • Topicks[トピックス]

• Healthil[ヘルシル]

• Carcast[カーキャスト]

VS

Page 26: 本当にあったケチくさい話

使用するツール

Googleが提供している携帯端末やデスクトップ端末向けのページのパフォーマンスを測定するツール 85/100以上あれば高パフォーマンス。

※各サイト3記事をランダムにPageSpeed Insights

で測定し、PC版の平均値を算出。

PageSpeed Insights

Page 27: 本当にあったケチくさい話

0 25 50 75 100

3860687085859092

※PageSpeed Insightsはあくまで指標の1つなので総合的なサイトのパフォーマンスとは異なる。

Topicks[トピックス]

Healthil[ヘルシル]

Carcast[カーキャスト]

NAVER まとめ

nanapi [ナナピ]

kaumo[カウモ]

iemo[イエモ]

MERY [メリー]

Page 28: 本当にあったケチくさい話

今後の課題

• ロードバランシング

• オートスケーリング

• Web・DBサーバーの冗長化

• 自動デプロイ

Page 29: 本当にあったケチくさい話

今後の目標

• 更なるパフォーマンスとコストの追求

• CandlePHPの開発

Page 30: 本当にあったケチくさい話

まとめ

• Webメディアの運営には、あまりお金は必要ない!

• 日常生活でも然り。

Page 31: 本当にあったケチくさい話

おわり