gpt4 book ai didi

javascript - Node.js 到 Socket.io 时间延迟

转载 作者:数据小太阳 更新时间:2023-10-29 05:22:00 26 4
gpt4 key购买 nike

我正在使用 Node.js(v0.12.4) 和 Socket.io(1.3.2) 开发实时交易应用程序。在那方面,当从 Node.js 向 GUI(Socket.Io) 发出响应时,我面临将近 (100ms) 的一些时间延迟。

我不知道为什么在从 Node.js 向 GUI (Socket.IO) 发送数据时会出现时间延迟。

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

有人帮我解决这个问题吗?

最佳答案

One huge thing to note before doing the following. When calculating timing from back-end(server side) to front end (client side) you need to run this on the same computer that uses the same timing crystal.

quartz crystal-driven timing even on high quality motherboards deffer from one another.

如果您在计算从后端(服务器端)到前端(客户端)的时间延迟时没有延迟 在同一台电脑上 那么您最初发现的延迟是由网络连接主板计时晶体的差异引起的。这将消除导致时间延迟的 Node.js 和 Socket.io。

基本上你需要找出延迟发生的地方,然后才能解决问题。

您需要做的是找出导致项目最大性能损失的原因。为此,您需要隔离每个进程所花费的时间。您还需要测量从最初检索数据到发布数据的时间延迟。然后测量每个功能、方法和过程的时间延迟。尝试隔离问题。你需要问最花时间做什么?

为了找出性能受到影响的来源,您需要执行以下操作。

  1. 了解您的代码获取所需信息所需的多长时间
  2. 找出每个信息处理过程在发送数据之前多长时间即函数/方法...
  3. 信息发出后,求信息到客户端并加载需要多长时间。
  4. 将所有时间加起来并确保它等于您的性能延迟,以确保您拥有隔离性能泄漏所需的所有数据。
  5. 对每个方法、函数、过程……按最耗时到最不耗时的时间延迟进行排序。当您发现哪些流程导致最大延迟时,您将能够解决问题……或者至少探索切实可行的解决方案……

您可以使用以下一些工具来衡量整个代码的性能。

首先:Chrome 有一个非常好的工具,可以让您查看每段已执行代码的性能。

第二个: performance-now node package. You can use it for dev performance testing.

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

第四:你可以使用console.time()之类的东西

关于javascript - Node.js 到 Socket.io 时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35151252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com