首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js到Socket.io的时间延迟

Node.js到Socket.io的时间延迟
EN

Stack Overflow用户
提问于 2016-02-02 18:44:49
回答 2查看 2.1K关注 0票数 6

我在使用Node.js(v0.12.4)和Socket.io(1.3.2)的实时交易应用程序中工作。在这种情况下,当响应从Node.js发送到图形用户界面(Socket.Io)时,我面临着一些时间延迟(100ms)。

我不知道为什么在将数据从Node.js发送到图形用户界面(Socket.IO)时会有时间延迟。

这发生在生产现场。由于网络延迟的原因,我们尝试在生产服务器位置对其进行调试。但是同样的结果。

有谁能帮我一下吗?

EN

回答 2

Stack Overflow用户

发布于 2016-02-09 02:59:15

在执行以下操作之前,需要注意一件重要的事情。在计算从后端(服务器端)到前端(客户端)的计时时,您需要在使用相同计时晶体的同一台计算机上运行此计时。

即使在高质量的主板上,石英晶体驱动的计时也是彼此不同的。

如果您在同一pc上计算从后端(服务器端)到前端(客户端)的时间延迟时发现no delay,则最初发现的延迟是由网络连接或主板计时晶体中的偏差造成的。这将消除Node.js和Socket.io作为时间延迟的原因。

基本上,你需要找出延迟发生在哪里,然后才能解决问题。

您需要做的是找出在您的项目中造成最大性能影响的原因。为此,您需要对每个进程占用的时间进行隔离。您还需要测量从最初检索数据到释放数据的时间延迟。然后对每个函数、方法和过程的时延进行测量。尝试隔离问题。你需要问一问,做什么花的时间最多?

为了找出您的性能影响来自哪里,您需要执行以下操作。

  1. 了解您的代码需要多长时间才能获得所需的信息。了解每个信息处理过程在发送数据(即function/methods...
  2. After )之前需要多长时间<

>E217>了解将信息发送到客户端需要多长时间并始终延迟,并确保它等于您的性能延迟< code >E223>,以确保您拥有所有数据要求隔离性能泄漏。

  1. 对每个方法进行排序,函数,process…根据其时间延迟,最耗时到最少耗时。当你找到造成最大延迟的进程时,你就能够解决这个问题了……或者至少探索有形的solutions...

这里有一些工具可以用来测量整个代码的性能。

First: Chrome有一个非常好的工具,可以让你看到每段执行代码的性能。

Second: performance-now node package. You can use it for dev performance testing.

Third: Stack overflow post on measuring time/performance in js.

Fourth:你可以使用像console.time()这样的东西

票数 5
EN

Stack Overflow用户

发布于 2016-02-16 22:24:28

我已经发现了它发生的时间延迟。

一旦我将数据从客户端套接字发送到Node,我将显示一些警告消息(“数据已处理”)。在GUI中呈现的警报消息需要时间。

此警报消息阻止从Node到Socket的响应数据。

谢谢你们的帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35151252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档