当前位置:   article > 正文

/proc/net参数说明 (二)_ip_no_pmtu_disc

ip_no_pmtu_disc

/proc/net参数说明 (二)

注意:对于所有值为bool的参数,‘ture’或者非0整数都可表示为允许。0或者是’false’表示禁止

ip

  • /proc/sys/net/ipv4/ip_forward

默认值:0
功能:是否开启IP转发。值为0表示不开启,值不为0则表示开启(如设置为1)。

  • ip_default_ttl

默认值:64
功能:设定IP数据包的生存周期
修改:增加该值会降低系统性能

  • ip_no_pmtu_disc

默认值:0。表示关闭路径MTUD(path MTD discovery)

  • min_pmtu

表示路径MTU(PMTU)的最小值。
默认值:
疑问:有的proc文件系统中不存在这个文件,我猜测是应该先开启 ip_no_pmtu_disc,但是我修改 ip_no_pmtu_disc值后也没用

  • inet_peer_gc_mintime

每次碎片搜集之间的最小时间间隔

tcp

tcp_abc
tcp_abort_on_overflow
tcp_adv_win_scale
tcp_allowed_congestion_control
tcp_app_win
tcp_available_congestion_control
tcp_base_mss
tcp_challenge_ack_limit
tcp_congestion_control
tcp_dma_copybreak
tcp_dsack
tcp_ecn
tcp_fack
tcp_fin_timeout
tcp_frto
tcp_frto_response
tcp_limit_output_bytes
tcp_low_latency
tcp_max_orphans
tcp_max_ssthresh
tcp_max_syn_backlog
tcp_max_tw_buckets
tcp_mem
tcp_min_tso_segs
tcp_moderate_rcvbuf
tcp_mtu_probing
tcp_no_metrics_save
tcp_orphan_retries
tcp_reordering
tcp_retrans_collapse
tcp_retries1
tcp_retries2
tcp_rfc1337
tcp_sack
tcp_slow_start_after_idle
tcp_stdurg
tcp_syncookies

  • tcp_syn_retries

默认值:5
功能:对于一个新建的TCP连接(主动发起),内核要发送多少个SYN连接请求才决定放弃。这个值不应该超过255。默认值为5,对应180s
修改:对于负载高但网络通信良好的情况而言,默认值偏高,可适当调低

  • tcp_synack_retries

默认值:5(对应180s时间)。最大不超过255
功能:对于一个接入的SYN请求,内核会发送SYN_ACK来确认,这就是著名的TCP三次握手的第二次握手。通过设定这个值,可以决定内核在放弃此次TCP连接之前而发送的SYN+ACK数目。
修改:对于负载高但网络通信良好的情况而言,默认值偏高,可适当调低

  • tcp_keepalive_time

默认值:7200(2小时)。单位-秒
功能:对于一个保活的TCP连接,该值设定了TCP多长时间发送一次keepalive消息(简单来说就是心跳检测周期)

  • tcp_keepalive_probes

默认值:9
功能:在内核决定放弃该连接之前,发送多少个keepalive探测

  • tcp_keepalive_intvl **

默认值:75
功能:设定keepalive探测发送频率。对于发出的keepalive探测消息没有收到响应时,则根据这个intvl值设定的间隔再次发送。用这个intvl值probes值,得到的是发送探测共消耗的时间,默认是11分钟。9*75/60=11min。如果在这11分钟内还没有收到探测响应,则丢弃该TCP连接。
修改:可以稍微设置小一点

  • tcp_thin_dupack
  • tcp_thin_linear_timeouts
  • tcp_timestamps
    tcp_tso_win_divisor
    tcp_tw_recycle

默认值(bool):0
功能:表示是否开启TIME_WAIT sockets的快速回收,设置为1 时表示开启

  • tcp_tw_reuse

默认值(bool):0
功能:是否允许TIME_WAIT sockets 的重新用于新的TCP连接

  • tcp_window_scaling

默认值(bool):1
功能:该文件值表示设置tcp/ip会话的滑动窗口大小是否可变。参数值为布尔值,非0整数时表示可变,为0时表示不可变

  • tcp_wmem

默认值(三个整数):4096 16384 131072。三个值分别表示min default max。
其中:
1.min值表示内核为TCP SOCKET设置的最小发送缓冲区大小。
2.default值表示内核为TCP SOCKET为设置的默认发送缓冲区大小。如果期望大的发送缓冲区,应该增加这个值(以影响所有套接字)。注意,如果要是要大的发送缓冲区,/proc/sys/net/ipv4/tcp_window_scaling中的值必须是一个非0值
3.max值表示内核为TCP SOCKET设置的最大发送缓冲区大小,这个值不会覆盖/proc/sys/net/core/wmem_max中的值
功能:控制TCP发送缓冲区大小。TCP根据可用内存,从读取文件中的默认值,然后在这些值的范围内动态调整发送缓冲区的大小。

  • tcp_rmem

默认值:min default max。解释类似tcp_wmem
功能:控制TCP接收缓冲区大小

  • tcp_workaround_signed_windows

高并发Nginx服务器优化

  • tcp_syncookies 1 表示开启SYN
    cookies;当SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击
  • tcp_tw_reuse 1 表示开启重用;允许将TAME_WAIT sockets 重新用于新的TCP连接
  • tcp_tw_recycle 1 表示开启快速回收;TCP连接中的 TAME_WAIT sockets 快速回收
  • tcp_max_syn_backlog 8192 表示SYN队列的长度,加大队列长度,可以容纳更多等待连接的网络数
  • tcp_keepalive_time 默认2小时。连接的心跳检测。可以调小一点。这样可以更快的清理无效连接
  • tcp_fin_timeout FIN_WAIT2 状态持续时间;表示如果套接字由本端要求关闭,

建议优化

echo "1" >/proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/tcp_synack_retries
echo "1" > /proc/sys/net/ipv4/tcp_syn_retries
echo "4096000">  /proc/sys/net/ipv4/route/max_size
echo "8192" > /proc/sys/net/core/somaxconn
echo "2621400" > /proc/sys/net/netfilter/nf_conntrack_max
echo "600" > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
echo "1048576" > /sys/module/nf_conntrack/parameters/hashsize
echo "1024 65534" > /proc/sys/net/ipv4/ip_local_port_range
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/436134
推荐阅读
  

闽ICP备14008679号