Linux系统web服务器内核优化

Linux内核优化

1.打开配置文件:vi /etc/sysctl.conf 

2.编辑配置文件,把优化指令写到配置文件中,保存并退出

3.重新加载配置文件,使配置文件生效:sysctl -p

# 单个进程最大可以打开的句柄数目
fs.file-max = 999999

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# Determines how often to check for stale neighbor entries.
net.ipv4.neigh.default.gc_stale_time=120

# Using arp_announce/arp_ignore to solve the ARP Problem
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
vm.swappiness = 0
net.ipv4.tcp_max_tw_buckets = 5000    #表示系统同时保持TIME_WAIT套接字的最大数量
net.ipv4.tcp_max_syn_backlog = 260000    #表示SYN队列长度,默认1024,改成8192,可以容纳更多等待连接的网络连接数。
net.ipv4.ip_local_port_range = 1024 65000    #表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。

net.ipv4.tcp_keepalive_time = 600    #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为30分钟。
net.ipv4.tcp_keepalive_probes = 3    #如果对方不予应答,探测包的发送次数
net.ipv4.tcp_keepalive_intvl = 15    #keepalive探测包的发送间隔

net.ipv4.tcp_syncookies = 1    #表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_synack_retries = 1    #是降低服务器SYN+ACK报文重试次数,尽快释放等待资源
net.ipv4.tcp_syn_retries = 1    #在内核放弃建立连接之前发送SYN包的数量。
net.ipv4.tcp_tw_reuse = 1       #表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1     #表示开启TCP连接中TIME-WAITsockets的快速回收,默认为0,表示关闭;
net.ipv4.tcp_fin_timeout = 2    #修改系統默认的TIMEOUT 时间。

net.core.somaxconn = 65535
net.ipv4.tcp_max_orphans=262114

重新贴一下没有注释的优化代码

# 单个进程最大可以打开的句柄数目
fs.file-max = 999999

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# Determines how often to check for stale neighbor entries.
net.ipv4.neigh.default.gc_stale_time=120

# Using arp_announce/arp_ignore to solve the ARP Problem
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
vm.swappiness = 0
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 260000
net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 2

net.core.somaxconn = 65535
net.ipv4.tcp_max_orphans=262114

Linux内存回收阈值优化:

Linux默认参数vm.min_free_kbytes 64mb

该文件表示强制Linux VM最低保留多少空闲内存(Kbytes)。

当可用内存低于这个参数时,系统开始回收cache内存,以释放内存,直到可用内存大于这个值。

 

vm.min_free_kbytes=409600;
vm.vfs_cache_pressure=200;
vm.swappiness=40。
调整MIN_FREE_KBYTES的目的是保持物理内存有足够的空闲空间,防止突发性的换页。

swapiness缺省为60,减少swapiness会使系统尽快通过swapout不使用的进程资源来释放更多的物理内存。

vfs_cache_pressure的缺省值是100,加大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大,回收的倾向越严重。调整这3个参数的目的就是让 操作系统在平时就尽快回收缓冲,释放物理内存,这样就可以避免突发性的大规模换页。

阈值调整为300M时做如下的设置:

1.vi /etc/sysctl.conf          # 编辑

2.sysctl -p                         # 重新加载

# 当可用内存低于300M,系统开始回收cache内存,以释放内存,直到可用内存大于这个值。
# 该值可以根据实际情况,动态调整
vm.min_free_kbytes = 307200
# 加大这个参数设置了虚拟内存回收directory和i-node缓冲的倾向,这个值越大,回收的倾向越严重
vm.vfs_cache_pressure = 200
# 减少swapiness会使系统尽快通过swapout不使用的进程资源来释放更多的物理内存
vm.swappiness = 40

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值