heroku dyno は一度に 1 つのリクエストしか処理しませんか?
はい。Heroku dyno はシングルスレッドです。
Heroku は 50 dyno までスケールアップします。これは、約 6,000 人のユーザーをトランザクションごとに約 5 ページビューの短い時間 (たとえば 30 分) で処理するのに十分でしょうか?
これは、ページの読み込み速度によって異なります。議論のために、ページ リクエストごとに 2 秒かかり (Google アナリティクスの推奨に従って)、6,000 users x 5 page views / 30 minutes
1 分あたり 1000 ページ ビューの読み込みが必要であると仮定します。
ページ読み込みあたり 2 秒の場合、1 つの dyno が 1 分あたり 30 ページ ビューを読み込みます。50 dyno の場合、これは 1 分あたり 1500 ページ ビューになります。これにより、明らかに全体的な目標を超えることができ、エラーの余地が残されますが、6000 人のユーザー全員が一度にページにアクセスすると、タイムアウトによっては 1 つの Heroku アプリが追いつかない可能性があります。ユーザーキューシステムを実装する必要があります-以下で説明します。
このプロジェクトに飛び込む前に、役立つ戦略やヒントを教えてください。
とは言っても、2 秒の読み込み時間は、ページが読み込む必要があるアセット、データベースと対話するために必要な量、クエリ、キャッシュなどによって異なる場合があります。また、ページの処理速度が大幅に向上する可能性もあります。
また、すべてのユーザーの初期ヒットについても心配する必要があります。これは、サイトを使用したことがある場合は、Ticketmaster が使用するものと同様の先着順サービス キュー システムを介して処理できます。これは、AWS SQS またはキュー システムの設定によって実現できます。
ユーザー キューとアセットのキャッシュ、および一般的なデータベース クエリを使用すると、50 以下の dyno でこれを達成できるはずです。
編集: Heroku が 50 の Web dyno を実行するというあなたの言葉を信じています。価格ページでは最大 24 と表示されていますが、何らかの情報が見つかりません。