2011年12月28日水曜日

PVでサーバを見積ることはおすすめしません

「私のサービスは毎月1億PVくらいになりそうなんですけど、どのインスタンスがいいですか?」

こんな質問をときたま受ける。マジレスすると、

  • 1ページあたりの転送量がわからん
  • どれだけのキャッシュをブラウザに効かせるのかわからん
  • そもそもそのページが動的に生成されるとして、その重さがわからん

などなどの理由で、ずばっと答えられないので、相手をガッカリさせることがある。

責任のある答えは「試しに作って測定してください。測定して、足りなければ増やせばいいので」というのが私の典型的な回答になる。

もちろん、超ざっくりでいいなら、こんな例えをしてみる。

  • 1ページあたり1MB、ブラウザキャッシュは考慮しないとして、30PV/sec とすると、30MByte/sec == 240Mbit/sec なので余裕もったサーバなら1台あたりはこんなもんじゃないかと。AWSならlargeインスタンスでならなんとかなるレベル.単純計算すると、これが月間7000万PVという数字になる。実際にはボトムとピークで7倍の差があるとして、一台のlargeインスタンスで1000万PVという無茶な計算がなりたつ。
  • DAUが1万人のアプリがあり、ピーク時にはその1/10である1000人が同時アクセスをする。10秒に一度ボタンをおすとして、1秒あたり100リクエストをさばくとする。1リクエストあたり10アクションがおこるとして、1000アクションを同時にさばけるアプリが動けばいいのならば、ここで必要なサーバは1台。

こんな適当なことを言われたらみなさん怒ると思います。まったくアプリの苦労をわかってないといわれ、あらゆる言葉で罵倒されることでしょう。というわけで測るしかないのです。

世の中のWebページやWebサービスの指針としてPage Viewが重視されるようになったのはいつからだろう。

私のなかの超適当な印象だと(年数は適当。調べたいけどもうわからない)

  • 96年以前: そもそもたいして数字に意味がなかった。→webサーバがあればおおいばりの時代
  • 97年: ネットスケープが2億Hit/dayとかいってたような。→squidなどのアクセス側proxyがよりがんばってた時代
  • 98年: ポータルサイトがユニークユーザ数を競いだしてたような。→だんだん有料コンテンツというのが出てきた
  • 99年: 滞在時間を競っていたような→長く滞留すればそれだけ広告を目にする。
  • それ以降、企画する人の企画がPVによって語られ、予算がつくように。。
  • ソーシャルゲームではプラットフォーマはなんでもかんでもPVあたりのコストや収益で測る。

こう考えると、hitとかいっていた時代は技術者が牽引してた時代だったなあと。そんな時代じゃないので最初のような質問がでてくるのは当然かしれない。

1 件のコメント:

  1. 通りすがりのサバ管屋さん2011年12月30日 10:42

    ITバブル期(90年代後半)は広告とサービス提供が一緒(自社提供=Web立ち上げるだけで広告になった)だったのでヒット数で見ていたけど、サーバーのアウトソース(レンサバ)が進んで(2000年代初期)サーバー提供と広告が分離されるようになって、広告効果測定が重視されるようになってから、効果が連動しないヒット数よりもPVが重視されるようになったという感覚というか自分理解かな。自分的にはダブルクリックwのインパクトが…。
    その後はCTRやら何やらの開発(?)で最終的には成果報酬まで至り、サーバーの負荷を見ない指標が当たり前になってしまいました。成果報酬にまで至るとページのできの良さが問題であって、サーバーの負荷に相関性が無くなったという。
    2000年後半というか2010年代になって、サーバー費用が抑えられるようになったせいか、リソース投入と広告効果測定が連動しなくなった印象があります。
    なお、コンテンツを静的または動的・リアルタイムまたはバッチ(遅延)で生成するなどの流行の違いもあって、負荷云々について話を始めると長くなるのですが…。
    個人的には広告効果測定という政治的な指標でしか物事見れない(それはそれで重要だが)スポンサーと何度も説明しても理解してくれないスポンサーの相手させられて苦労しました。

    返信削除