【问题标题】:Confused by official mongodb documentation, what is socketTimeoutMS?被mongodb官方文档弄糊涂了,socketTimeoutMS是什么?
【发布时间】:2018-02-27 23:55:24
【问题描述】:

我发现两个不同的地方有不同的解释 socketTimeoutMS 做什么。

在尝试超时之前尝试在套接字上发送或接收的时间(以毫秒为单位)。默认设置是从不超时,尽管不同的驱动程序可能会有所不同。请参阅驱动程序文档。

来自here


还有以下:

socketTimeoutMS 设置在驱动程序成功连接后,套接字在关闭前保持非活动状态的毫秒数。如果该值设置为 360000 毫秒,则在 30 秒窗口内没有任何活动时,套接字将关闭。

来自here

socketTimeoutMS 的真正作用是什么?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    根据文档所说,这将是驱动程序提供的功能

    请参阅驱动程序文档。

    在您的情况下,如果您使用的是 nodejs(您发送的链接),它将与您在第二个报价中引用的一样

    socketTimeoutMS 设置在驱动程序成功连接后,套接字在关闭前保持非活动状态的毫秒数。如果该值设置为 360000 毫秒,则在 30 秒窗口内没有任何活动时,套接字将关闭。

    【讨论】:

    • 我不同意你的观点,默认是永不超时,尽管不同的驱动程序可能会有所不同。仅根据文字socketTimeoutMS 值 可能因司机而异。
    • 在第一个中,发送/接收尝试超时,即需要 500 毫秒才能完成的大查询,而超时设置为 300 毫秒将失败。在第二种情况下,socket保持不活动,即超时设置为10秒,并且20秒内没有任何查询,连接将被关闭。这是我对上面写的理解。
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多