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

标签 html networking heroku amazon-ec2 cloud

我最近使用基于 TCP 的 WebSockets 网络协议(protocol)在 HTML5 中构建了一个多人游戏。我已经在我的代码中采取了一些措施来最小化延迟(使用插值,最小化发送的消息数量/消息大小),但我偶尔会遇到延迟和断断续续的问题,我认为这是由于数据包丢失和 TCP 的组合而发生的按顺序交货政策。

详细说明 - 我的游戏向玩家发送频繁的 websocket 消息,以更新他们敌方玩家的位置。如果一个数据包被丢弃/延迟,我的理解是它会阻止及时收到后来的数据包,这会导致敌方玩家看起来被卡住在同一个地方,然后在延迟的数据包最终到达时缩放到正确的位置收到。

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

最佳答案

是的。您无法从 Heroku 实例获得专用网络性能。 VPC 中某些类别的 EC2 实例可以启用“增强网络”,这应该有助于为您提供专用性能。

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

关于html - 在免费的 heroku dyno 上托管我的多人 HTML5 游戏是否会影响我的网络性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30390902/

相关文章:

HTML 标题和边框问题

php - 406 和 404 错误 - 仅 Firefox 有问题?

linux - 将互联网连接到 Raspberry Pi 开发板

node.js - 尝试访问本地主机中的数据库时如何修复 "Error: The server does not support SSL connections"?

html - <a href ="example.com/page.php#page"rel ="noindex, nofollow"> 正确吗?

javascript - textarea的容量

visual-studio - 如何避免使用Visual Studio和Docker容器的API出现连接拒绝错误?

powershell - Azure Powershell - 如何更改网络子网

ruby-on-rails - 执行 heroku 创建时找不到 libtermcap.so.2 文件

python - Psycopg2 中的 `TypeError: argument 2 must be a connection, cursor or None`