YouTube の負荷

なんつったって動画ですよ。 ブログとかmixi日記のようなテキストレベルのコンテンツに比べて、はるかにサーバーにかかる負荷は高いはずです。

YouTubemixi を比較して "負荷" の話をしていて、「動画配信だから負荷が高い」と断定していますが、これは何を"負荷"とするかにもよるかなと思います。

"負荷" というと CPU load や I/O などリソースの消費っぷりを指す言葉というイメージがありますが。(一般的には違うものでしょうか?) そういう意味での負荷で言ったら、「YouTube = 動画 / mixi = テキストだから YouTube の方が負荷が高い」という断定はやや微妙です。負荷の種類が違うのです。

YouTube のシステムを見たときにその焦点になるのは、まず第一にネットワーク帯域。第二にストレージをどうしているかというところじゃないかなと思います。動画配信にリソースがいるポイントは、ネットワーク帯域とディスク I/O です。つまり YouTube の負荷分散で気になるところは

  • ネットワーク帯域
  • ストレージ
    • 容量の管理
    • 動画を格納しているストレージサーバーの I/O

あたりです。一方の mixi の方はというと、テキストコンテンツですが、その負荷はファイル配信などではなく、Web+DB アプリケーションとしての負荷が中心です。つまり、

  • サーバーの CPU / メモリリソース
    • Web サーバーのリソース消費
    • DB サーバーのリソース消費
      • CPU load
      • I/O
      • パーティショニングどうしてるの? とか

というところが焦点になると。この辺だいぶ種類が違うわけです。なので YouTubemixi を比較して負荷の話をするのはあまり良い例ではないと思います。

YouTube にも WEB+DB アプリケーションの部分があるので、そういう意味では一般的なウェブサイトと同じ負荷分散の部分でも苦労はしてそうですが、多くの人が YouTube のシステムをみてすごいと思っているのはそこではなく、動画配信をどうしているかという点です。

で、その YouTube ですが。まずネットワーク帯域。

日本の場合、高品質で高速な回線を比較的低コストで借りることができるのですが、海の向こうでの回線事情はだいぶ異なるので、その辺がとても気になる。この辺は僕の知る範囲にヒントがないのでぜんぜん分からない。ほんとにチープレボリューションの恩恵を受けれてるの? という疑いすらある。日本でも Gyao の帯域が大きくてバックボーン業者が云々みたいな話しが盛り上がってました。そういうのを見てると回線周りのインフラは、ある一定の閾値を超えるとチープ革命の恩恵は受けられないんじゃないかな、と個人的にそう見てます。

一方のストレージ。

あれだけたくさんの動画ファイル格納しつつ、また満足のいくスループットでそれを返すディスク を普通に買おうとするとン千万〜ン億円する代物になってしまうので、おそらくそこは安いディスクを物理的に分散させて、アプリケーションから透過的に扱える仕組みを持っているのではないかなと予想してます。この分散ストレージの技術あるいはノウハウが、YouTube の持つ参入障壁じゃないかなあ。これで EMC とかのファイルサーバー使ってますとかだったらアレだけど。(安物でなんとかしようとしてるウェブ企業にとっては、それはそれで参入障壁だろうけども)