我已经使用 Union Platform 作为基于 java 的游戏服务器实现了 JOOQ,并使用 Union Platform 的 Orbiter Micro(Union JS Client)在浏览器上运行它。
但是,在游戏中只有 30-40 名活跃玩家的情况下,联盟平台在速度方面落后。
对于每个游戏实例(即每个房间),我配置了一个执行所有查询的工厂连接。它的作用是,
对于每个玩家的回合,
- 播放器可以输入一个整数,在一系列(4 个查询)条件检查之后,它通过 JOOQ 插入/更新数据库
- 然后为了取回整数的状态,它再次执行 3 个查询,这些查询有效地转换为 3 个链接哈希图以更新游戏状态。
现在,响应需要很长时间,以至于玩家看到了性能问题。而Union Platform实际上声称可以轻松处理1000多名活跃玩家。所以这实际上意味着我的 JOOQ 查询中有一些错误(我确实使用了很多 LEFT OUTER JOIN)。
因此,任何提高吞吐量和分析每个查询的建议都非常受欢迎。