如何提高 nodejs / socket io 性能?

How to improve nodejs / socket io performance?

我已经为一个小游戏搭建了一个服务器。客户端以一定的时间间隔向服务器发送他们的移动数据。服务器也会在一定的时间间隔内向客户端发送有关其他玩家的数据。如果我添加更多玩家,性能会变得更差。我现在如何提高性能?

发送单个属性而不是对象会提高速度吗?

我可以通过使用更大的间隔来创造更稳定的性能吗?

或者您有其他想法?

是否有调试工具可以检查哪些服务器操作会降低服务器速度?

您实际上可以通过三种方式提高性能:

1 - 减少您在套接字上发送的指令的大小。

您可以通过以下方式实现:

2 - 发送您所需要的。

  • 如果需要移动播放器,只需要发送位置即可。
  • 如果您需要弹出一个新玩家,请发送完整的对象并将其存储在客户端。
  • ...

3 - 降低频率。

您不需要发送所有位置。 例如,您可以每秒发送一个玩家位置。然后,您需要在客户端添加一个动画,将玩家移动到持续一秒的动画位置。 Here's an article that well explains game networking techniques