4

現在、トラフィックの多いFacebookアプリケーションを開発しています。すべてのトラフィックは1か月以内に発生し、予想されるユーザー数は500.000〜1.000.000になります。その月の後、ゲームは終了し、勝者が出ます。そのため、アプリはアーカイブされます。

現在、Ruby on Railsを使用してアプリケーションを開発し、トラフィックを処理できるホスティングオプションを探すことを計画しています。問題はユーザーではなく、ピーク値です。短い時間枠内で毎日約500.000件のリクエストが発生します(最悪の場合は3分以内としましょう)。

アプリケーションのユーザー数は500.000〜1.000.000で、ピークは午後1時(タイムゾーンGMT + 1)で、ほとんど(ユーザーの最大80%)がほとんどのリクエストを送信すると予想されます。リクエストは6月11日から7月11日までです。その後、アプリ/ゲームは終了/終了します。

現在、積極的なキャッシュメカニズムを開発しています。現在、負荷を処理する2つまたは3つの小さなアプリ/ウェブサービスについて考えています。

負荷は次のように分散されます:a)メインアプリケーション、キャッシュされたデータ(11画面、各200k)b)投票:毎日午後1時まで(タイムゾーンGMT + 1)-すべてのユーザーが約10kのデータを送信して投票し、同時ピークが高い値!

質問:

  • 推奨される特定のアプリケーション設定はありますか?
  • 推奨できるホスティングパートナーはありますか?

ありがとう!

4

2 に答える 2

3

提供するコンテンツがすべてキャッシュされている場合は、それで問題ありません。いくつかのnginxインスタンスは、ほぼ無制限の静的ページを提供できます。

投票はすべて同時に行われることになっているため、投票はあまり良くありません。同時負荷が高い場合の新しいホットさはnode.jsのようですが、私はそれについての経験がありません。

投票は実際にはあまり行われないと思いますが、フルレールスタック呼び出しを行う代わりに、投票を実行する小さなラックメソッドを記述してみてください。これにより、ActionController、ActionViewをロードする手間が省けます。また、プレーンSQLでDBに投票を書き込む場合は、ActiveRecordも使用できます。

于 2010-05-22T14:52:59.757 に答える
2

EC2のAutoScalinghttp : //aws.amazon.com/autoscaling/などの自動スケーリングクラウドコンピューティングソリューションを確認してください。EC2が新しいインスタンスを起動するタイミングに関するパラメーターを設定します。

本当に注意したい場合は、ボットネットを構築してサイトへのトラフィックをシミュレートできますhttp://www.talcottsystems.com/articles/build-your-own-botnet-with-ec2-and-capistrano-to-load -test-your-server-cluster-before-launch /

于 2010-05-22T17:20:09.280 に答える