在免费的 heroku dyno 上托管我的多人 HTML5 游戏是否会影响我的网络性能?

Is hosting my multiplayer HTML5 game on a free heroku dyno hurting my network performance?

我最近在 HTML5 中使用基于 TCP 的 WebSockets 网络协议构建了一个多人游戏。我已经在我的代码中采取了一些措施来最小化延迟(使用插值,最小化消息数量 sent/message 大小),但我偶尔 运行 遇到延迟和断断续续的问题,我认为这是由于分组丢失和 TCP 的有序传递策略的组合。

详细说明 - 我的游戏向玩家发送频繁的 websocket 消息,以更新他们敌方玩家的位置。如果一个数据包得到dropped/delayed,我的理解是它会阻止后面的数据包被及时接收,这会导致敌方玩家出现冻结在同一个地方,然后一旦延迟数据包就缩放到正确的位置终于收到了

我承认我对networking/bandwidth/congestion的理解很薄弱。我一直在想 运行 在一个免费的 heroku dyno 上运行我的游戏是否会加剧这个问题,它基本上是另一个虚拟服务器上的虚拟机(heroku dynos 在 EC2 实例上)。通常,heroku dynos 和多租户服务器是否由于邻居嘈杂或其他原因而导致网络拥塞更严重?

是的。您无法从 Heroku 实例获得专用网络性能。 VPC 中的一些 类 EC2 实例可以启用 "Enhanced Networking",这应该有助于为您提供专用性能。

最终,尽管在转向新解决方案之前最好的办法是进行基准测试。对您可以从 Heroku dyno 获得的吞吐量水平进行基准测试,然后尝试对 Amazon 实例进行基准测试,看看它产生了什么样的差异。