码迷,mamicode.com
首页 > 其他好文 > 详细

centos6 内核优化

时间:2019-01-26 15:19:56      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:default   接收   hmm   占用   dos   cookies   ping   cal   物理   

CPU E5-2630 *2 内存64G 单服务器5万频发

vi /etc/sysctl.conf

net.ipv4.ip_forward = 0 # 路由转发
net.ipv4.conf.all.rp_filter= 1 #启用源路由核查功能
net.ipv4.conf.default.rp_filter = 0 #禁用所有IP源路由
kernel.sysrq = 0 #使用sysrq组合键是了解系统目前运行情况,为安全起见设为0关闭
kernel.core_uses_pid = 1 #控制core文件的文件名是否添加pid作为扩展
net.ipv4.tcp_syncookies = 1 #开启SYN 防御SYN
kernel.msgmnb = 65536 #每个消息队列的大小限制
kernel.msgmax = 65536 #整个系统最大消息队列数量限制
kernel.shmmax = 68719476736 #单个共享内存段的大小限制,计算公式64G102410241024(字节)
kernel.shmall = 4294967296 #所有内存大小(单位:页,1页 = 4Kb),计算公式16G
102410241024/4KB(页)
【优化】
net.ipv4.tcp_synack_retries = 2 #对于远端SYN连接请求,内核会发送SYN+ACK数据包来确认收到了上一个SYN连接请求包,然后等待远端的确认(ack数据包)。该值则指定了内核会向远端发送tcp_synack_retires次SYN+ACK数据包。默认设定值是5,可以调整为2
net.ipv4.tcp_syn_retries = 2 #新建TCP连接请求,需要发送一个SYN包,该值决定内核需要尝试发送多少次syn连接请求才决定放弃建立连接。默认值是5. 对于高负责且通信良好的物理网络而言,调整为2
vm.overcommit_memory = 1 #表示内核在分配内存时候做检查的方式,函数直接 return 0,分配成功。
net.ipv4.tcp_max_syn_backlog = 1638400 #SYN队列的长度,可容纳更多等待连接的网络连接数
net.core.somaxconn = 32768 #增加该值有助于网络性能
net.core.netdev_max_backlog = 20000 #表示进入包的最大设备队列
net.ipv4.tcp_max_tw_buckets = 6000 #系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。对于Apache、Nginx等服务器,减少TIME_WAIT套接字数量
net.ipv4.conf.all.send_redirects = 0 #关闭发送重定向信息包,用户使用IP重定向修改路由表
net.ipv4.conf.all.accept_redirects = 0 #关闭接收重定向信息包
net.ipv4.tcp_fin_timeout = 10 #表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。
net.ipv4.tcp_keepalive_time = 90 #TCP发送keepalive消息的频度
net.ipv4.ip_local_port_range = 1024 65000 #外部连接的端口范围
net.ipv4.tcp_window_scaling = 1 #启用该功能,可以使tcp/ip滑动窗口大小增大数个数量级,从而提高数据传输的能力
net.ipv4.icmp_echo_ignore_all = 0 #禁止ICMP包通行
net.ipv4.icmp_echo_ignore_broadcasts = 1 #开启忽略icmp ping广播包,避免放大***
net.ipv4.tcp_sack = 0 (1表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对CPU的占用。
net.ipv4.tcp_keepalive_probes = 3 #probe 3次(每次30秒)不成功,内核才彻底放弃
net.ipv4.tcp_keepalive_intvl = 30 #probe (每次30秒)
net.ipv4.tcp_retries2 = 5 #TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,以尽早释放内核资源.
net.ipv4.tcp_max_orphans = 262144 #该参数用于设定系统中最多允许存在多少tcp套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,没有与用户文件句柄关联的tcp套接字符将立即被复位,同时给出警告信息。这个限制只是为了防止简单的DoS工具。一般在系统内存比较充足的情况下,可以增大这个参数的赋值
net.ipv4.tcp_orphan_retries = 3 #关闭TCP连接之前重试多少次。缺省值是7,减少套接字消耗很多重要的资源。
net.ipv4.tcp_reordering = 5 #该文件表示TCP流中重排序的数据报最大数量,缺省3
net.ipv4.tcp_retrans_collapse = 0 #禁用兼容打印机设置的“将错就错”选项
net.ipv4.tcp_wmem = 51200 131072 4194304 #为自动调优定义每个 socket 使用的内存。第一个值是为 socket 的发送缓冲区分配的最少字节数,第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值,第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)
net.ipv4.tcp_rmem = 51200 131072 4194304 #与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值。
net.ipv4.tcp_timestamps = 1 # 即启用时间戳,如果应大量用户nat端口重复使用的频率高,无法访问时因修改为0关闭
net.ipv4.tcp_tw_reuse = 1 #开启重用允许将TIME-WAIT sockets重新用于新的TCP
net.ipv4.tcp_tw_recycle = 1 #开启TCP连接中TIME-WAIT sockets的快速回收

net.netfilter.nf_conntrack_max = 655350 #修改最大连接数
net.netfilter.nf_conntrack_tcp_timeout_established = 90 #缩短established时间
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 30 #关闭的等待时间
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60 #发送包时间
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60 #等待时间

打开文件描述符的个数
echo ‘* - nofile 65535‘ >> /etc/security/limits.conf

centos6 内核优化

标签:default   接收   hmm   占用   dos   cookies   ping   cal   物理   

原文地址:http://blog.51cto.com/zhizhimao/2346846

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!