与えられたデータは、必要な数値を決定するのにあまり役立ちません。しかし、私の経験に基づいて、分析をお手伝いします。
1 か月あたり 15,000,000 回の訪問は、1 日あたり 70 万回の訪問を意味します (約 30 ~ 35% の訪問がリピーターによるものであると仮定します)。
700Kx5 = 1 日 350 万ページ ビュー。1 つのタイムゾーン サイトで一般的な 14 時間のアクティブな期間を想定しています。その 70reqs/秒。
この大規模なユーザーベースでは、1 つのスレーブを備えた高性能 DB サーバーが必要になることはまずありません。これらのDBサーバーの構成
- アクティブなデータ全体とインデックスがメモリに収まるようなメモリ (スワッピング/スラッシングが発生しないようにする必要があります)。これは、ユーザーのために保存する内容とその期間に基づいて計算する必要があります。
- RAID10 (より高い読み取り/書き込み帯域幅) などの信頼できるストレージを使用してください。
- 十分なストレージを確保し、十分な伸縮性があることを確認してください。(AWS EBS など)。
フロントエンド アプリ サーバーを軽量化し、水平方向にスケーラブルにします。それらをロードバランサーの背後に置きます (nginx や HAproxy などのソフトウェア ロードバランサーを使用します)。ゴールまで何枚でも入れられるはずです。
のためloadbalacer and frontend take 4CPU, 4-8GB RAM servers
に。負荷テスト方法と現実的なテストデータを使用して、各フロントエンドがどれだけかかるかをテストする必要があります。
インメモリ/+ memcached/membase/redis などの永続キャッシュを使用して、データベース/永続の負荷を軽減します。8 GB のサーバーを使用し、必要に応じてさらに追加します。
DB のパーティショニングについては説明していません。その必要性を感じたときだけにしてください。開始時に過剰に投資しないでください。
1 か月あたり 1,500 万人のユーザーの場合、この設定で十分です。but again it all depends on you 1. memory footprint, 2. amount of active data
できるだけ答えるようにしました。あなたが同意しない、またはもっと議論したい点についてのコメント。