ウェブアプリケーションサーバを複数台構成とか2010年代には流行らない
タイトルは煽り入ってますが。
仮に動的ページを生成するのにかかる時間が1秒、そのうちデータベースやmemcached等リモートサーバへの問い合わせ時間を除くいたCPUの処理時間が0.1秒とする。また、ピークのリクエスト処理量は、平均の2倍とする。
そうすると、クアッドコアのアプリケーションサーバで処理できるリクエストは、
4 core * 10 reqs/sec * 86,400 sec/day * 30 day/mon / 2 = 51,840,000 reqs/mon
と、約5,000万PV/月を1台で捌けることになる。
CPUが動いている時間は全処理時間の10倍と仮定したわけだから、アプリケーションサーバの最大同時接続数は
4 core * 10 = 40
程度あればいいことになる。実際には、安全係数を2倍かけて 80 とか。リクエストの処理に必要なメモリ量を 100MB とすると、
100 MB/conn * 80 conn = 8GB
程度のメモリがあればいいってことだから、ちゃんとメモリを積んでやれば CPU の前にメモリがサチるってことはない。
つまり、約5,000万PV/月くらいのサイトまでなら、アプリケーションサーバ1台で捌ける、という机上の計算が成り立つ。
API系のアクセスがどんどん増えていかない限り、アプリケーションサーバを複数台で構成する、ってのは、大規模なサービス以外では不要になるんだろうな、と思った。
2010/01/12追記: ↑は煽っているので、もっとマトモな説明は ウェブ業界の15年、これからの10年 (Re ウェブアプリケーションサーバを複数台構成とか2010年代には流行らない) - kazuhoのメモ置き場。