首页 > 系统 > Linux > 正文

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

2020-07-28 15:46:14
字体:
来源:转载
供稿:网友
这篇文章主要介绍了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。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表