月150万PVをさくらVPSでさばくお話
虎の狸のなんたらといいますが、
サービスを開始するにあたってPVの想定とか
その際準備するべきサーバ等って結構頭を悩ますところですよね。
(一番ニヤニヤする所だったり!)
今回は少しでもそれの参考になればってことで、
アプリilkaでの値を後悔してみたいと思います。
ilkaの中身について
まずilkaの簡単な説明をすると、
ツイッターライクなビューでタイムライン表示
投稿はランダム表示
ユーザは匿名でメッセージを投稿
投稿ログの閲覧機能
スターというお気に入りログ保存機能
といった感じのアプリです。
その性質上タイムライン、履歴、スターの3つは
サーバアクセスが必要なので、
アクセスした数がapacheのログに残ります。
それを集計してみたいと思います。
また現在のアプリのDL数は11万ちょっとです。
去年一時闇歴史がありましたので、
ユニークユーザは2万ユーザ/月程度しかいません。
デイリーにすると2000程度。
またSQLはほぼ全てインデックスにヒットし、
結果をJSON->ZIP圧縮で転送してやりとりしています。
自前のオレオレフレームワークでインクルードなどは最小限になってはいます。
もちろん所謂VIEWに値する所はアプリ側で処理してくれますので、
一般的なサイトと比べたらそこの部分はお得ですね。
Apacheのチューニングはここらへんを参考にしています。
そこまで大胆にいじっているつもりはないですが、
プロセス数等はちょこちょこ見て修正していたりします。
実際のアクセス数/サーバの負荷
さて、上記のような構成、状態で実際どのくらいアクセスがくるのかですが、
apacheログを集計するとざっくり5万アクセス/日程度になります。
uptimeを叩いてみると平均で0.3いくかいかないかといった所です。
まだまだ余力ありますね。さすがさくらと言った所。
5万/日なのでざっくり150万/月ですが、10倍とまではいわなくても
5倍くらいまでなら余裕でいけると思います。
(ここまで行くとコネクションのほうが無理かもしれません)
そこまでapacheなどには詳しくないですが、
転送量やクエリの最適化とPHPでの無駄な処理を減らしてしまえば
結構VPS1本でもさばけるということですね。
むしろ、自分も勉強が足らないと思うので、
研究すればもっと最適化できると考えています。
終わりに
ちなみに5万/日のうち7割くらいのアクセスで広告を表示しているのですが、
広告のビューはなぜか1.5万/日くらいなんですよね・・・(Ne**さん)
ちなみにanalyticsでは2.1万程度とこちらもやっぱり足らない。
広告にしてもanalyticsにしてもjavascriptでロードしているので、
ロードに時間がかかっている間にアプリを落としたり、
電波状況等でそもそもロードに失敗しているパターンもあるのだと思います。
もったいないことをしているなぁ。。
ということで ilkaもよろしくお願いいたします!