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),计算公式16G102410241024/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