zoukankan      html  css  js  c++  java
  • linux内核参数优化

    说明:本优化适合apache,nginx,squid多种等web应用,特殊的业务也可能需要略作调整。

    [root@c64 ~]# vi /etc/sysctl.conf
    #by sun in 20131001
    net.ipv4.tcp_fin_timeout = 2
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_keepalive_time =600
    net.ipv4.ip_local_port_range = 4000    65000
    net.ipv4.tcp_max_syn_backlog = 16384
    net.ipv4.tcp_max_tw_buckets = 36000
    net.ipv4.route.gc_timeout = 100
    net.ipv4.tcp_syn_retries = 1
    net.ipv4.tcp_synack_retries = 1
    net.core.somaxconn = 16384
    net.core.netdev_max_backlog = 16384
    net.ipv4.tcp_max_orphans = 16384
    #一下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理。
    net.ipv4.ip_conntrack_max = 25000000
    net.ipv4.netfilter.ip_conntrack_max = 25000000
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120
    [root@localhost ~]# sysctl –p    #使配置文件生效

    提示:由于CentOS6.X系统中的模块名不是ip_conntrack,而是nf_conntrack,所以在/etc/sysctl.conf优化时,需要把net.ipv4.netfilter.ip_conntrack_max 这种老的参数,改成net.netfilter.nf_conntrack_max这样才可以。

    即对防火墙的优化,在5.8上是

    net.ipv4.ip_conntrack_max = 25000000
    net.ipv4.netfilter.ip_conntrack_max = 25000000
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

    在6.4上是

    net.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_max = 25000000
    net.netfilter.nf_conntrack_tcp_timeout_established = 180
    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
    net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

    6.4版本上

    error: "net.bridge.bridge-nf-call-ip6tables"isan unknown key
    error: "net.bridge.bridge-nf-call-iptables"isan unknown key
    error: "net.bridge.bridge-nf-call-arptables"isan unknown key

    这个错误是由于自动处理可载入的模块bridge没有自动载入,解决办法是自动处理开载入的模块ip_conntrack

     modprobe bridge echo "modprobe bridge">> /etc/rc.local 

    更多详情请参考:CentOS(5.8/6.4)linux生产环境若干优化实战

  • 相关阅读:
    跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
    谈谈程序员的非技术思维
    跟面试官侃半小时MySQL事务隔离性,从基本概念深入到实现
    面试官问,你在开发中有用过什么设计模式吗?我懵了
    关于校招面试要怎么准备,这里有一些过来人的建议
    数据库中间件漫谈
    「从零单排HBase 06」你必须知道的HBase最佳实践
    「从零单排HBase 05」核心特性region split
    《Scalable IO in Java》译文
    Java多线程同步工具类之Semaphore
  • 原文地址:https://www.cnblogs.com/lijile/p/5083067.html
Copyright © 2011-2022 走看看