【问题标题】:about the relation between "net.ipv4.tcp_timestamps" and "net.ipv4.tcp_tw_reuse"关于“net.ipv4.tcp_timestamps”和“net.ipv4.tcp_tw_reuse”的关系
【发布时间】:2015-09-27 14:17:11
【问题描述】:

当我使用jmeter进行性能测试时,客户端报告错误“请求无法到达”,我google了错误,大部分答案参考“net.ipv4.tcp_tw_reuse”,将其设置为1,但是有人说,如果想让它工作,必须使用“net.ipv4.tcp_timestamps”,在服务器中将“net.ipv4.tcp_timestamps”设置为1。我不知道为什么在客户端,我设置了“net.ipv4.tcp_tw_reuse” ,并且必须在服务器中设置“net.ipv4.tcp_timestamps”,它会起作用吗?谁能帮助我?这两个内核设置之间有什么关系吗?

【问题讨论】:

    标签: linux sysctl


    【解决方案1】:

    我无意中遇到了这个问题,所以我将尝试在我的后续发现中提供一个简短的答案。

    更多信息可以找到here,但主要是

    TCP_TW_REUSE

    这允许在 TIME_WAIT 状态下重用套接字以进行新连接 从协议的角度来看是安全的。默认值为 0(禁用)。它是 通常比 tcp_tw_recycle 更安全

    /proc/sys/net/ipv4/tcp_timestamps - 时间戳 (RFC 1323) 添加 12 个字节 到 TCP 标头...

    TIME_WAIT 是当本地端已关闭时 TCP 连接的状态,但操作系统等待来自另一端的新数据包(以防它们到达)。一段时间后,连接会自动释放。

    添加时间戳的想法是能够计算出用于拥塞控制的非常准确的 RTT(往返时间)。

    【讨论】:

      【解决方案2】:

      任何人都知道,我对这两个参数进行测试,如果我只是将“net.ipv4.tcp_tw_reuse”设置为1,“net.ipv4.tcp_timestamps”确实会对“net.ipv4.tcp_tw_reuse”产生影响,问题不会解决,但是当我把“net.ipv4.tcp_timestamps”也设置为1的时候,效果明显。谁知道这两个参数的关系?

      【讨论】:

        猜你喜欢
        • 2015-11-23
        • 2020-05-24
        • 2015-08-19
        • 1970-01-01
        • 1970-01-01
        • 2021-01-29
        • 2021-02-04
        • 2022-07-18
        • 2018-07-24
        相关资源
        最近更新 更多