内网站做映射,温州网络优化公司,坪山网站建设行情,寿光专业做网站的公司通过隐藏通信应用程序中的临时网络中断#xff0c;TCP 可以在偶尔不可靠的网络上提供可靠的通信。在通知发件人任何问题之前#xff0c;您的操作系统将多次重发丢失的消息。大多数 Linux 发行版默认将任何丢失的数据包重传 15 次。重新传输以指数方式回退#xff0c;因此这 …通过隐藏通信应用程序中的临时网络中断TCP 可以在偶尔不可靠的网络上提供可靠的通信。在通知发件人任何问题之前您的操作系统将多次重发丢失的消息。大多数 Linux 发行版默认将任何丢失的数据包重传 15 次。重新传输以指数方式回退因此这 15 次重新传输需要 900 秒钟以上的时间才能完成。这意味着使用这种方法Linux 需要花费几分钟的时间来检测网络分区或故障节点。 Windows 默认仅重传 5 次相应的超时时间约为 6 秒。
Linux 默认设置允许通过可能遭受很长数据包丢失的网络进行通信但是对于大多数 Elasticsearch 集群而言此默认设置对于单个数据中心内的生产网络而言过于昂贵。高可用性集群必须能够快速检测节点故障以便它们可以通过重新分配丢失的碎片重新路由搜索以及可能选择一个新的主节点来迅速做出反应。因此Linux 用户应减少最大 TCP 重传次数。
通过以 root 身份运行以下命令可以将最大 TCP 重传次数减少到 5 。五次重发对应于大约六秒钟的超时。
sysctl -w net.ipv4.tcp_retries25 要永久设置此值请更新 /etc/sysctl.conf 中的 net.ipv4.tcp_retries2 设置。
定义一个时间段在这个时间段内如果没有任何连接相关的活动TCP 保活机制会开始作用每隔一个时间间隔发送一个「探测报文」该探测报文包含的数据非常少如果连续几个探测报文都没有得到响应则认为当前的 TCP 连接已经死亡系统内核将错误信息通知给上层应用程序。
在 Linux 内核可以有对应的参数可以设置保活时间、保活探测的次数、保活探测的时间间隔以下都为默认值
net.ipv4.tcp_keepalive_time7200
net.ipv4.tcp_keepalive_intvl75
net.ipv4.tcp_keepalive_probes9 tcp_keepalive_time7200表示保活时间是 7200 秒2小时也就 2 小时内如果没有任何连接相关的活动则会启动保活机制
tcp_keepalive_intvl75表示每次检测间隔 75 秒
tcp_keepalive_probes9表示检测 9 次无响应认为对方是不可达的从而中断本次的连接
禁用IPv6
如果您的系统不需要使用IPv6可以尝试禁用它以减少网络相关的问题。在终端中执行以下命令将ipv6.disable参数设置为1
sysctl -w net.ipv6.conf.all.disable_ipv61 TCP 重传超时 |Elasticsearch 指南 [8.10] |弹性的