linux下修改内核参数进行Tcp性能调优 -- 高并发 /etc/sysctl.conf
fs.file-max
在/etc/security/limits.conf最后增加:
* soft nofile 65535
* hard nofile 65535 文件
* soft nproc 65535
* hard nproc 65535 进程
ulimit 命令本身就有分软硬设置,加-H 就是硬,加-S 就是软默认显示的是软限制
soft限制指的是当前系统生效的设置值。hard限制值可以被普通用户降低。但是不能增加。 soft 限制不能设置的比hard 限制更高。 只有root用户才能够增加 hard 限制值。
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=0
net.ipv4.tcp_mem=94500000 915000000 927000000
net.ipv4.tcp_max_orphans=3276800
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.ip_local_port_range=1024 65535
net.ipv4.tcp_syncookies=1 开启SYN Cookies,当出现SYN等待队列溢出时,启用cookies来处理
net.ipv4.tcp_keepalive_time=100
net.ipv4.tcp_tw_reuse=1 修改此参数,允许重用处于time_wait的socket 默认为0,1表示开启
net.ipv4.tcp_tw_recycle=1 参数表示快速回收处于time_wait的socket 默认为0,1表示开启
net.ipv4.tcp_fin_timeout=10 修改time_wait状的存在时间,默认的2MSL
net.ipv4.tcp_max_tw_buckets=20000 默认是180000 所允许存在time_wait状态的最大数值,超过则立刻被清楚并且警告
net.ipv4.ip_local_port_range=1024 65000 允许系统打开的端口范围。 表示对外连接的端口范围。
net.core.somaxconn=32768 somaxconn参数决定Accept队列长度,在listen函数调用时backlog参数即决定Accept队列的长度,该参数太小也会限制最大并发连接数,因为同一时间完成3次握手的连接数量太小,server处理连接速度也就越慢。服务器端调用accept函数实际上就是从已连接Accept队列中取走完成三次握手的连接。 Accept队列和Syn队列是listen函数完成创建维护的。 /proc/sys/net/core/somaxconn修改
kernel.perf_event_paranoid=2
TCP/IP 优化
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 关于C10K的问题就不多说了,应该是一个说烂的话题。网上也有很多C1000k,甚至C10M(也就是1kw并发...
- 1. Nginx的模块与工作原理 Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单...