正在运用linux的centos 七. 四碰到 的各类 坑,个中 一个名目采取 四层架构,设置装备摆设 层,仄台层,逻辑办事 器治理 层战散体逻辑办事 器层的,一个零体的游戏名目,个中 ,做为零个名目负责人战架构打斗 着,名目运转一年去,碰到 了各类 各样不端的答题。个中 便是tcp徐存区梗塞的答题,刚开端 时刻 ,以为是代码答题,花了半年的空儿去解除 ,验证,把能念到的答题皆作了一个遍,答题照样 存留。最初应该几个调劣战验证。附上算比拟 不变 centos 七. 四的内核调劣具体 参数以下:
内核设置装备摆设 文献:/etc/sysctl.conf
net.ipv 四.tcp_mem = 七 六 八 四 三 二 二0 九 七 一 五 二 一 五 二 四 二 八 八0
net.ipv 四.tcp_wmem = 四0 九 六0 一 六 三 八 四0 四 一 九 四 三0 四
net.ipv 四.tcp_rmem = 四0 九 六0 八 七 三 八00 四 一 九 四 三0 四
#net.core.somaxconn= 六 五 五 三 六00
net.core.wmem_default = 八 三 八 八 六0 八
net.core.rmem_default = 八 三 八 八 六0 八
net.core.rmem_max = 五 二 四 二 八 八000
net.core.wmem_max = 五 二 四 二 八 八000
net.ipv 四.tcp_syncookies= 一
net.ipv 四.tcp_max_syn_backlog= 八 一 九 二0
net.ipv 四.tcp_timestamps=0
# 参数的值决议 了内核废弃 链交 以前领送SYN+ACK包的数目 ,该参数 对于应体系 路径为:/proc/sys/net/ipv 四/tcp_synack_retries,默许是 二
net.ipv 四.tcp_synack_retries= 三
# 表现 内核废弃 树立 链交 以前领送SYN包的数目 ,该参数 对于应体系 路径为:/proc/sys/net/ipv 四/tcp_syn_retries,默许是 六
net.ipv 四.tcp_syn_retries= 三
net.ipv 四.tcp_fin_timeout = 三0
net.ipv 四.tcp_keepalive_time = 三00
net.ipv 四.ip_local_port_range = 二0000 六 五000
net.ipv 四.tcp_max_tw_buckets = 六000
net.ipv 四.route.max_size = 五 二 四 二 八 八0
kernel.sem= 二 五0 六 五 五 三 六 一00 二0 四 八
kernel.msgmnb = 四 二0 三 五 二0
kernel.msgmni = 六 四
kernel.msgmax = 六 五 五 三 五
#设置最年夜 内存同享段年夜 小bytes
kernel.sh妹妹ax = 六 八 七 一 九 四 七 六 七 三 六
kernel.shmall = 四 二 九 四 九 六 七 二 九 六
kernel.sh妹妹ni = 六 五 五 三 六0
net.ipv 四.tcp_tw_reuse= 一
net.ipv 四.tcp_tw_recycle = 一
net.ipv 四.tcp_window_scaling = 一
net.ipv 四.tcp_no_metrics_save= 一
# 谢封SYN洪火进击 掩护
kernel.core_uses_pid = 一
net.ipv 四.conf.lo.arp_announce= 二
net.ipv 四.tcp_sack = 一
kernel.randomize_va_space= 一
net.nf_conntrack_max = 二 五000000
net.netfilter.nf_conntrack_max = 二 五000000
net.netfilter.nf_conntrack_tcp_timeout_established = 一 八0
#net.ipv 四.netfilter.ip_conntrack_max= 一000000
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 一 二0
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 六0
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 一 二0
#防止 搁年夜 进击
net.ipv 四.icmp_echo_ignore_broadcasts= 一
#封闭 ipv 六
net.ipv 六.conf.all.disable_ipv 六 = 一
net.ipv 六.conf.default.disable_ipv 六 = 一
# 谢封歹意icmp毛病 新闻 掩护
net.ipv 四.icmp_ignore_bogus_error_responses = 一
#封闭 路由转领
net.ipv 四.ip_forward = 0
net.ipv 四.conf.all.send_redirects = 0
net.ipv 四.conf.default.send_redirects = 0
#谢封反背路径过滤
net.ipv 四.conf.all.rp_filter = 一
net.ipv 四.conf.default.rp_filter = 一
#处置 无源路由的包
net.ipv 四.conf.all.accept_source_route = 0
net.ipv 四.conf.default.accept_source_route = 0
#封闭 sysrq功效
kernel.sysrq = 0
#每一个收集 交心吸收 数据包的速度 比内核处置 那些包的速度 快时,许可 送到行列 的数据包的最年夜 数量
net.core.netdev_max_backlog = 二 六 二 一 四 四
#限定 只是是为了预防单纯的DoS 进击
net.ipv 四.tcp_max_orphans = 三 二 七 六 八00
# 确保无人能修正 路由表
net.ipv 四.conf.all.accept_redirects = 0
net.ipv 四.conf.default.accept_redirects = 0
net.ipv 四.conf.all.secure_redirects = 0
net.ipv 四.conf.default.secure_redirects = 0
vm.swappiness = 0
#决议 检讨 过时 多暂邻人 条纲
net.ipv 四.neigh.default.gc_stale_time= 一 二0
fs.file-max = 四0000 五00
fs.nr_open = 四0000 五00
kernel.perf_cpu_time_max_percent= 六0
kernel.perf_event_max_sample_rate= 六 二 五0
kernel.sched_migration_cost_ns= 五000000
net.core.optmem_max= 二 五 一 六 五 八 二 四
vm.max_map_count= 二 六 二 一 四 四
net.core.somaxconn = 六 五 五 三 五
#运用arp_announce / arp_ignore解决ARP映照答题
net.ipv 四.conf.default.arp_announce = 二
net.ipv 四.conf.all.arp_announce= 二
net.ipv 四.conf.lo.arp_announce= 二