私はすでに、JavaベースのゲームサーバーとしてUnion Platformを使用してJOOQを実装し、UnionPlatformのOrbiterMicro(Union JS Client)を使用してブラウザーで実行しています。
ただし、ゲーム内に30〜40人のアクティブなプレーヤーがいるイベントでは、ユニオンプラットフォームは速度の点で遅れています。
ゲームインスタンスごと(つまり、部屋ごと)に、すべてのクエリを実行する1つのファクトリ接続を構成しました。それがすることは、
各プレイヤーのターンについて、
- プレーヤーは整数を入力でき、一連の条件チェック(4クエリ)の後、JOOQを介してデータベースを挿入/更新します。
- 次に、整数のステータスを取得するために、ゲームのステータスを更新するための3つのリンクされたハッシュマップに効果的に変換される3つのクエリを再度実行します。
現在、応答に非常に時間がかかっているため、プレーヤーはパフォーマンスの問題を抱えています。ユニオンプラットフォームは実際には、インスタンスで1000人を超えるアクティブなプレーヤーを簡単に処理できると主張しています。つまり、これは事実上、JOOQクエリにいくつかの間違いがあることを意味します(私は多くのLEFT OUTER JOINを使用しました)。
したがって、スループットを改善し、各クエリのプロファイルを作成するための提案は大歓迎です。