我们有一个设备,它可以在固定的间隔内发送POST请求或TCP消息,带有JSON有效负载,通过internet发送到在另一个位置运行节点应用程序的服务器。
JSON有效负载具有时间戳和一些其他值。我们将时间戳与服务器的时间戳进行比较,以计算时间差,我们称之为时差。
间隔为100 is。我们所经历的是,最初,滞后在200毫秒以下。我们让系统运行了几天,我们观察到滞后在增加,2-3天后是2000 -3000 is,而且还在进一步增加。6天后,大约6000毫秒。
一旦我们重新启动服务器进程,延迟就会恢复到正常状态,所以我假设发送方没有问题。这在POST请求实现和TCP消息实现中都会发生。
有没有人知道为什么会发生这种情况,或者如何缩小问题的范围?
发布于 2021-12-17 09:53:34
服务器和发件人都有时钟同步吗?每天1秒不是不寻常的时钟漂移。
发布于 2021-12-17 09:48:01
这将表明所谓的资源泄漏。随着队列、内存或其他资源的积累,应用程序中的某些东西会随着时间的推移而减慢处理速度。
我建议在NodeJS代码中添加插装,以跟踪任何内部队列、分配的内存、数据库查找等。记录所有内容,以便开始确定瓶颈所在。
如果您在云中运行,那么有很好的工具来帮助仪器代码,比如AWS。
https://serverfault.com/questions/1087584
复制相似问题