- メッセージ キューイング。あなたのプロセス フローは、その主要なターゲットのように思えます。
- クラスタリング / 負荷分散。
- コードを合理化する
最初に行うことは、通知をキューに入れることです。次に、値を返す必要のないすべてのデータベース書き込みをキューに入れます。次に、スケールアウトを検討します。
その他の考慮事項: * 必要以上に舞台裏で多くの作業を行う大きくて不格好なフレームワークは避けてください。* 可能な限りキャッシュ変数と静的変数を使用してください。
1 秒あたり 40,000 メッセージは実行可能ですが、IO をミックスに追加すると、大量のメモリを備えた超高速ハードウェアであっても予測不能になる可能性があります。できる限り帯域外処理を行うようにしてください。それが失敗した場合は、(マルチコアまたはマルチプロセスのマシンで) 複数のスレッドを実行できるかどうかを確認し、必要に応じてクラスター内の複数のサーバーを調べます。
編集:
このようなシナリオでの負荷テストの利点はいくら強調してもしすぎることはありません。簡単なプロトタイプを作成して負荷テストを行います。希望する結果が得られるまでプロトタイプを改良します。次に、プロトタイプに基づいて最終的なソリューションを設計します。目的のパフォーマンス レベルをテストするまでは、解決策を推測しています。