IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux系统tcp优化配置 -> 正文阅读

[系统运维]linux系统tcp优化配置

全局服务生效,但是如果当前用户登陆shell,优先登陆用户limits.conf配置,但是limits.conf配置如果超越sysctl.conf配置,则无效(只能往小,不能往大),系统后台服务不受limits.conf限制

vi /etc/sysctl.d/chris_tcp.conf

#TCP 协议栈网络参数

#并发连接 backlog 设置:
net.core.somaxconn = 2048  
net.ipv4.tcp_max_syn_backlog = 16384  
net.core.netdev_max_backlog = 20000  


#TCP Socket 读写 Buffer 设置:
net.core.rmem_default = 262144  
net.core.wmem_default = 262144  
net.core.rmem_max = 16777216  
net.core.wmem_max = 16777216  
net.ipv4.tcp_rmem = 4096 4096 16777216  #'1024 4096 16777216'
net.ipv4.tcp_wmem = 4096 4096 16777216  #'1024 4096 16777216'
net.ipv4.tcp_mem = 786432 2097152 3145728   #'16777216 16777216 16777216'


#TCP 连接追踪设置:
net.nf_conntrack_max=1000000
net.netfilter.nf_conntrack_max=1000000
net.netfilter.nf_conntrack_tcp_timeout_time_wait=30


#FIN-WAIT-2 Socket 超时设置:
net.ipv4.tcp_fin_timeout = 15  


#TIME-WAIT Socket 最大数量、回收与重用设置:
net.ipv4.tcp_max_tw_buckets=1048576

# 注意:不建议开启該设置,NAT 模式下可能引起连接 RST
#是否重用, 快速回收time-wait状态的tcp连接
#net.ipv4.tcp_tw_reuse = 1  
#net.ipv4.tcp_tw_recycle = 1  


#可处理最多孤儿socket数量,超过则警告,每个孤儿socket占用64KB空间
net.ipv4.tcp_max_orphans = 131072  


#可分配端口 可用知名端口范围
net.ipv4.ip_local_port_range = 1024 65535  

#系统级别最大打开文件
#百万并发服务器中常用的几个配置 , 注意一个正向连接要消耗2个tcp,	一个反向代理需要消耗4个tcp
fs.file-max = 2000000
#单用户进程最大文件打开数
fs.nr_open = 2000000


/sbin/sysctl -p 生效

net.ipv4.tcp_rmem用来配置读缓冲的大小,三个值,第一个是这个读缓冲的最小值,第三个是最大值,中间的是默认值

net.ipv4.tcp_wmem用来配置写缓冲的大小。读缓冲与写缓冲在大小,直接影响到socket在内核中内存的占用。

net.ipv4.tcp_mem则是配置tcp的内存大小,其单位是页,而不是字节。当超过第二个值时,TCP进入 pressure模式,此时TCP尝试稳定其内存的使用,当小于第一个值时,就退出pressure模式。当内存占用超过第三个值时,TCP就拒绝分配 socket了,查看dmesg,会打出很多的日志“TCP: too many of orphaned sockets”。

net.ipv4.tcp_max_orphans这个值也要设置一下,这个值表示系统所能处理不属于任何进程的 socket数量,当我们需要快速建立大量连接时,就需要关注下这个值了。当不属于任何进程的socket的数量大于这个值时,dmesg就会看 到”too many of orphaned sockets”。

ip_local_port_range 一台系统上,连接到一个服务时的本地端口是有限的。由于端口是16位整数,也就只能是0到 65535,而0到1023是预留端口,所以能分配的只是1024到65534,也就是64511个。也就是说,一台机器只能创建六万多个长连接。要达到 我们的两百万连接,需要大概34台客户端。

/etc/sysctl.conf与/proc/sys/目录的关系

  • 备注:在/etc/sysctl.conf中配置之后,需要使用sysctl -p命令加载才可以将配置的值更新到/proc/sys/目录对应的文件中

  • 备注:光修改/etc/sysctl.conf配置文件是没有用的,还需要使用sysctl -p命令将/etc/sysctl.conf配置文件的内容加载到/proc/sys/目录对应的文件中(重启后会自动价值,运行环境要用sysctl -p)

?

单用户最大打开文件数

vi /etc/security/limits.conf
*    soft    nofile  1000000  
*    hard    nofile  1000000  

#使用命令查看
ulimit -a
ulimit -n 

注意:此设置 只对当前登陆用户shell有效,对于系统后台服务无效,需要用到/etc/sysctl.d/配置才会对系统生效

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:20:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:53:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码