首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodejs驱动程序keepAlive选项的用途是什么?

Nodejs驱动程序keepAlive选项的用途是什么?
EN

Stack Overflow用户
提问于 2020-07-03 15:23:30
回答 1查看 3.8K关注 0票数 1

我很难理解keepAlive选项传递给nodeJS mongo驱动程序。这个文档keepAlive取布尔值,keepAliveInitialDelayused to wait before initiating keepAlive on the TCP socket

这个文档表示keepAlive取一个整数值并读取The number of milliseconds to wait before initiating keepAlive on the TCP socket.

我尝试使用这两种方法,但没有发现任何不同之处,我还尝试了使用truefalse值来表示keepAlive,对于keepAliveInitialDelay尝试了0、1和30000(默认值)。

  1. 使用keepAlive的正确方法是什么?
  2. “启动”keepAlive是做什么的?或者keepAlive选项的用途是什么?
  3. 为什么即使在将keepAlive设置为false或将其设置为01之后,它也没有任何区别?
  4. 文档在这里指出,keepAlive会影响艺术品-> Server, ReplicaSet, Mongos。那么它在服务器端文档映射到哪个选项呢?

我用的是芒果驱动器V3.3和蒙戈地图V4.2

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-03 18:00:38

描述了TCP保持生存的机制这里.它用于:

  • 检查死的对等点
  • 防止因网络不活动而断开连接

当启用“保持活动”时,驱动程序指示网络堆栈在建立的连接上定期向服务器发送ping数据包。如果服务器的网络堆栈没有响应,则将连接标记为失败。

如果没有保持活力,驱动程序直到应用程序发出查询(并等待它被执行)之后才会发现一些网络问题。

驱动程序使用这里设置网络堆栈选项setKeepAlive

要查看是否发送了“保持生命”,您需要使用像tcpdump这样的工具来检查驱动程序建立的连接上的通信量。

如果服务器使用系统范围内的“保持活动”值。低于300秒,则将保持活动间隔设置为300秒.

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

https://stackoverflow.com/questions/62718415

复制
相关文章

相似问题

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