Facebookの舞台裏に見られる、性能改善への取組み
by Jason Kincaid on 2009年8月31日

Facebookは巨大である。非常に巨大だ。だから、サイトに何か手を加えるたびに(数日前にヘッダーをわずかに変更したように)、ユーザーがこのソーシャルネットワークを使うやり方に、著しく影響を及ぼすのも当然だ。今週、Facebookの技術チームが掲載したメモは、この夏にインターンのZizhuang Yangが、ロード時間等の変化がユーザーにどう影響するかを調査した結果を書いたものだ。Yangは過去数ヵ月間に行った3つの主要な実験、1つはサイト全体の速度、あとの2つはページのロード方法に関する実験、について書いているが、その結果は実に興味あるものだ。

最初の実験では、一般的な速度低下に対して、Facebookユーザーがどう反応するかを調べた。Yangによると、サイトの速度に関わらず、ユーザーは同じくらいの時間、Facebookに滞在することがわかった。これは良い報せのようたが(少なくともイライラしてすぐにやめてはいない)、つまりはサイトの動作が遅くなれば、同じ時間内にユーザーが見るページ数は少ないという意味であり、Facebookの望むところではないのは明らかだ。したがって(当然ながら)、Facebookはサイトをできるだけ速くするべく、必死に努力している。

2番目の実験では、ページをどの順番で読み込むべきかを調ベた。Yangの報告によると、Facebook内部では、ページはできる限り早く表示するべきであり、サイトとのやりとりに必要なスクリプトがロードされる前であってもそうするべきか、あるいは白紙を表示しておき、準備がすべて整ってから、一気に表示するべきか、という議論があったそうだ。Yangは、「どのユーザーのグループでも、空白ページを表示しておくと、利用率が下がるという結果がでた。よって、議論には決着がついた」と書いている。だから、Facebookを使っていて、ページを読み込んだ後の1秒か2秒、動作しないボタンがあったとすれば、これで説明が付く。

3番目の実験は、ニュースフィードでの記事の読み込みに関するもの。常連Facebookユーザーなら、ページをスクロールダウンすると、自動的に新しいニュースフィード記事を読み込むことに気付かれただろう。。これは一見、気の利いた新機能のように感じるかもしれないが、実はFacebookが読み込み時間を削減するために行ったことだ。以前のニュースフィードでは、同時に30件の記事を表示していた。今は、まず15件読み込み、次の15件は、ユーザーがスクロールダウンすると初めて表示される。しかしYangは、ユーザーが最初の15件を読んだあと、次に30件が読み込まれるまで、1~2秒待つのは平気だということを発見した。これでユーザーの滞在時間を大きく伸ばすことができる。これは実に理にかなったことだ。(それがFacebookのホームページだからと莫然と見ていると違って)ニュースフィードを積極的に読んでいるということは、ヒマつぶしをしているか、友人の過去の記事を読んて追いつこうとしているかだ。この「キャッチアップ」の時間には、表示される記事が多ければ多いほど良い。

もう一つ興味深いのは、Facebookがしきりにインターンプログラムを公開したがることだ。先週同サイトのブログには、FacebookページからTwitterへの転送プログラムを作ったインターンによる記事が載っていたが、今度は別のサマーインターン生による実験の成果を見ることができた。これは、同社が最近の求人祭りで新しい才能を見出そうとしている計画の一環に違いない。

[原文へ]

(翻訳:Nob Takahashi)

  • http://www.jinbou.com/ Mufufu

    これだけ大きくなるとこんな小さなことにも気を配るんですねえ・・・。