加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux并发连接50万的配置方案

发布时间:2023-08-12 12:37:24 所属栏目:Linux 来源:
导读:这篇文章主要介绍了linux并发连接50万的配置方法,需要的朋友可以参考下- A 64 bits hardware/kernel (AMD64, Opterons) - At least 8GB of ram - A recent linux kernel (2.6.x) About tuning, I prefer to not full

这篇文章主要介绍了linux并发连接50万的配置方法,需要的朋友可以参考下- A 64 bits hardware/kernel (AMD64, Opterons)

 - At least 8GB of ram

 - A recent linux kernel (2.6.x)

 About tuning, I prefer to not fully disclose them because servers are targets of many attacks, so it's better not help hackers.

 The most touchy thing is the IP route cache : You have to tune it or else the machine drops many connections

 (hint : rhash_entries=... in the boot append string)

 hints :

 echo 1 > /proc/sys/net/ipv4/route/gc_interval

 echo 150 >/proc/sys/net/ipv4/route/gc_timeout

 echo 2 >/proc/sys/net/ipv4/route/gc_elasticity

 - Use of hugeTLB pages

 hint :

 echo xxx >/proc/sys/vm/nr_hugepages

 Tune tcp :

 echo "4096 49152 131072" >/proc/sys/net/ipv4/tcp_wmem

 echo xxxx >/proc/sys/net/ipv4/tcp_max_syn_backlog

 echo xxxx >/proc/sys/net/core/somaxconn

 echo 1200000 > /proc/sys/net/ipv4/tcp_max_tw_buckets

 echo 7 >/proc/sys/net/ipv4/tcp_retries2

 echo "600000 650000 700000" >/proc/sys/net/ipv4/tcp_mem

 echo 0 >/proc/sys/net/ipv4/tcp_timestamps

 echo 0 >/proc/sys/net/ipv4/tcp_window_scaling

 echo 0 >/proc/sys/net/ipv4/tcp_sack

 echo 330000 >/proc/sys/net/ipv4/tcp_max_orphans

 echo "10000 62000" >/proc/sys/net/ipv4/ip_local_port_range

 others :

 echo 1300000 >/proc/sys/fs/file-max

有多种方法加大Linux的threads数

 1、sysctl -w kernel.threads-max=8167 最大threads数

 2、echo 8167 > /proc/sys/kernel/threads-max

重启后保存修改值

 编辑/etc/sysctl.conf

增加

kernel.threads-max = 8167

 #sysctl -p 马上生效

 

 /proc/sys/net/ipv4/参数说明

参数名 参数类型

 参数值(如无特别标注,内存类的单位为byte,关于时间的单位为秒)

官方详细说明(skylove对该参数的个人心得或补充说明)

ip_forward :BOOLEAN

 0 - 关闭(默认值)

非0值 - 打开ip转发

 在网络本地接口之间转发数据报。该参数非常特殊,对该参数的修改将导致其它所有相关配置参数恢复其默认值(对于主机参阅RFC1122,对于路由器参见 RFC1812)(在其他一些操作系统中,这个参数不是boolean型,而是INTEGER型,设置为0为不转发,1为根据接口情形决定是否转发,2是 始终转发)

ip_default_ttl :INTEGER

默认值为 64

表示IP数据报的Time To Live值(在网络传递中,每经过一"跳",该值减少1,当ttl为0的时候,丢弃该包.该值越大,即在网络上可以经过的路由器设备的数量越多,但一个错 误的包,也会越发浪费生存周期.根据目前的实际情形而看,设置为32已经足够普通网络访问Internet的需求了)

ip_no_pmtu_disc :BOOLEAN

默认值为FALSE(0)

关闭路径MTU探测(典型的瓶颈原理,一次成功的传输中,mtu是由网络上最"窄"的位置决定的.如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就需要进行分片(fragmentation),把数据报分成若干片,这样每一片都小于MTU。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章