Centos7操作系统参数调优

下面列出了一些Centos7操作系统的配置参数,通过调整这些参数,可以让系统效率更高。

调整Centos7操作系统的配置参数

在etc目录下面,存在sysctl.conf文件,通过配置这个文件,可以调整系统的参数。

配置参数及解读

①.系统允许同时发起的TCP连接数。在许多的主流操作系统上这个值都默认是128。

net.core.somaxconn=65535

②.每个网络端口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目

net.core.netdev_max_backlog=65536

③.系统允许的半连接(SYN)同步包上限

net.ipv4.tcp_max_syn_backlog=65536

下面的文字内容是对该参数的说明:

打个简单的比方,某某发布公告要邀请四海之内若干客人到场参加酒席。客人参加酒席分为两个步骤:

1、到大厅;

2、找到座位(吃东西,比如糖果、饭菜、酒等)。

tcp_max_syn_backlog用于指定酒席现场面积允许容纳多少人进来;

somaxconn用于指定有多少个座位。

显然tcp_max_syn_backlog>=somaxconn。

如果要前来的客人数量超过tcp_max_syn_backlog,那么多出来的人虽然会跟主任见面握手,但是要在门外等候;

如果到大厅的客人数量大于somaxconn,那么多出来的客人就会没有位置坐(必须坐下才能吃东西),只能等待有人吃完有空位了才能吃东西。

什么是半连接: 未完成三次握手的连接就是半连接,已完成的叫做完全连接

三次握手:

1、第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

2、第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

3、第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

④这个参数是用来设置保持在FIN_WAIT_2状态的时间。tcp4次挥手,正常的处理流程就是在FIN_WAIT_2情况下接收到FIN进入到TIME_WAIT的情况,tcp_fin_timeout参数对处于TIME_WAIT状态的时间没有任何影响。但是如果这个参数设的比较小,会缩短从FIN_WAIT_2到TIME_WAIT的时间,从而使连接更早地进入TIME_WAIT状态。状态开始的早,等待相同的时间,结束的也早,客观上也加速了TIME_WAIT状态套接字的清理速度。

net.ipv4.tcp_fin_timeout=10

⑤TIME-WAIT套接字是否允许重用于新的TCP连接,了解网络的情况建议开启=1,提高连接速度。不熟悉网络配置的情况下建议关闭=0。

net.ipv4.tcp_tw_reuse=0

⑥表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_tw_recycle=0

⑦发送与接收数据的缓存值

net.core.wmem_default=262144

net.core.wmem_max=524288

net.core.rmem_default=262144

net.core.rmem_max=524288

⑧长连接的心跳包机制,设置心跳包开始时机为,发送数据包后半小时开始心跳检查,

net.ipv4.tcp_keepalive_time=1800

⑨长连接的心跳包机制,心跳包发送间隔时间10秒

net.ipv4.tcp_keepalive_intvl=10

⑩长连接的心跳包机制,超过3次没有应答,则认为连接无效,将其丢弃。

net.ipv4.tcp_keepalive_probes=3

⑪Linux进程可以分配的单独共享内存的最大值,大于 INNODB_POOL_SIZE与QUERY_CACHE及其他MySQL占用内存总和。建议总内存的60%左右,2147483648 字节(B) = 2GB

kernel.shmmax=2147483648

⑫swappiness的值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,0代表优先使用物理内存对数据进行处理。

vm.swappiness=0

相关推荐
fpcc3 天前
跟我学C++中级篇——循环展开的分析
c++·优化
LostSpeed3 天前
gcc的-O优化等级和编译后程序占用空间的关系
优化·gcc
梁萌5 天前
MySQL分区表使用保姆级教程
数据库·mysql·优化·分区表·分区·partitions
NueXini7 天前
Unity 3D MMO RPG手游征服2GB设备之历程
3d·unity·性能优化·游戏引擎·优化·rpg·mmo
CodeAmaz8 天前
MySQL 调优的(实战思路)
数据库·mysql·优化
小小工匠9 天前
LLM - 主流RAG优化思路解析
llm·优化·rag
梁萌9 天前
Percona Toolkit工具优化MySQL索引
数据库·mysql·优化·索引·冗余索引·索引分析
装不满的克莱因瓶1 个月前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
七夜zippoe2 个月前
压缩与缓存调优实战指南:从0到1根治性能瓶颈(二)
缓存·优化·压缩·底层原理