これが私の仕事です。2 つおきのバックグラウンダー タスクは、何らかのデータに基づいて json を生成する必要があります。この操作は CPU を集中的に使用するものではなく (主にネットワーク)、JSON コンテンツ (5 ~ 10KB) を生成します。操作には約 200ms かかります。
また、数秒に 1 回、約 1000 のクライアントがこのコンテンツを要求しています。約 200 リクエスト/秒としましょう。
サーバーは現在の実際のjsonを出力するだけです。
現在、この作業に関連する他の仕事をしているレール4 + nginx + passenger + debianサーバーがすでにあります。
学生であるため、次の方法で簡単にスケーリングできる最も費用対効果の高い方法でサーバーを作成したいと考えています。
- バックグラウンダー ジョブをいくつか追加し、より多くの json を生成する
- リクエスト数を 1 秒あたり 10,000 に増やす
現在、2 つの CPU コアを搭載した linode 2048 ssd を使用しています。私の質問は次のとおりです。
- バックグラウンダー タスクにどの gem/solution を使用すればよいですか (現在は ruby で記述されています)
- 実際の json を効果的に保存し、バックグラウンダーから rails/nginx に渡す方法。
- json をできるだけ速く提供する方法。