哪些因素可能导致 TCP/HTTP 请求延迟/滞后

Kir*_*ván 2 tcp

我们有一个设备,可以通过互联网以固定的时间间隔发送 POST 请求或 TCP 消息(带有 JSON 有效负载)到在另一个位置运行节点应用程序的服务器。

JSON 负载具有时间戳和一些其他值。我们将该时间戳与服务器的时间戳进行比较以计算时间差,我们称之为滞后。

间隔为100ms。我们的体验是,最初延迟低于 200 毫秒。我们让系统运行几天,我们观察到延迟正在增加,2-3 天后为 2000 - 3000 毫秒,6 天后进一步增加,约为 6000 毫秒。

一旦我们重新启动服务器进程,延迟就会恢复正常,因此我认为发送方没有问题。POST 请求实现和 TCP 消息实现都会发生这种情况。

有谁知道为什么会发生这种情况,或者如何缩小问题范围?

Ale*_*exD 6

服务器和发送器上的时钟是否同步?每天 1 秒的时钟漂移并不罕见。

  • @rtaft 他们可能在服务进程中使用一些不精确的时钟(“setInterval”?),这些时钟会随着时间的推移而漂移。或者他们通过重新启动服务器来重新启动该进程,该服务器在启动时执行“ntpdate”但不运行“ntpd”服务。 (2认同)