代码之家  ›  专栏  ›  技术社区  ›  tosi

nodejs多个计时器和CPU使用率

  •  1
  • tosi  · 技术社区  · 7 年前

    假设我有1000个并发socket.io连接。 在断开连接时,我想给用户至少30秒的时间来重新连接和维护它的会话,所以我考虑添加一个计时器来完成这项工作。 考虑到计时器将运行30秒,并且只执行简单的数据库查询,这会是CPU密集型的吗?这是后端btw,所以没有浏览器。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   jfriend00    7 年前

    考虑到计时器将运行30秒,并且只执行简单的数据库查询,这会是CPU密集型的吗?

    更有意义的是,每次断开插座时都要设置一个30秒的计时器。将TimeRid放入会话对象中。如果用户重新连接,则在重新连接后,您将找到会话并在其中找到一个时间标识。取消计时器。如果用户在30秒内未重新连接,则计时器将启动,您可以清除会话。

    因此,如果您想在每个套接字断开连接时设置一个30秒的计时器,那么这是一件非常好的事情,它根本不应该对您的CPU使用产生明显的影响。

    How does Node.js manage timers internally 还有另一个答案: How many concurrent setTimeouts before performance issues?

    推荐文章