• 高并发中的部分优化


    1、关闭iptables 阻止内核加载iptables

    2、系统对对用户打开文件数的软、硬限制
    vim /etc/security/limits.conf
    softe nofile 65535
    hard nofile 65535

    vim /etc/pam.d/login
    sessionrequired /lib/security/pam_limits.so
    #告诉linux在用户完成登录后,调用整个模块来设置系统对用户的可开文件数限制,这个模块会从limits.conf读取配置

    cat /proc/sys/fs/file-max
    #系统级的硬限制,所有 用户级的打开文件数不应该超过这个限制,修改方法
    sed -i "s/fs.file-max=*/fs.file-max=131072/g" /etc/sysctl.conf

    ulimit -n
    #如果/etc/profile 这个用户登录脚本有限制,需要打开这个文件修改这个限制

    3、内核tcp 参数优化
    netstat -n|awk "/^tcp/{++s{$NF}END{for (i in s) print i,s[i]}"
    针对time_wait 优化,调整/etc/systcl.conf
    net.ipv4.tcp_syncookies= 1 #syn队列溢出时,启用cookies 防治少量syn
    net.ipv4.tcp_tw_reuse= 1 #开启重用,timewait状态被重用于新tcp链接
    net.ipv4.tcp_tw_recycle= 1 #timewait开启快速回收
    net.ipv4.tcp_fin_timeout= 30 #修改timeout默认时间,应对fin_wait_2状态时对端出错无法关闭

    针对大流量机器开启下面参数
    net.ipv4.tcp_keepalive_time= 1200 #tcp发送keepalive消息频度,20分钟
    net.ipv4.ip_local_port_range= 1024 65535 #提供对外连接的端口范围
    net.ipv4.tcp_max_syn_backlog= 8192 #syn队列长度,默认是1024
    net.ipv4.tcp_max_tw_buckets= 5000 #系统同时保持timewait的最大数量,若超量立刻被清楚
    net.ipv4.tcp_max_syn_backlog= 65535 #发出syn后,记录尚未收到客户ack的请求的最大值
    net.core.netdev_max_backlog= 32768 #网络接口收数据包的速度比内核处理速度快时,允许加入队列的最大数
    net.core.somaxconn= 32768
    net.core.wmen_default= 8388608
    net.core.rmen_default= 8388608
    net.core.rmen_max= 16777216 #最大socket读取buffer
    net.core.wmen_max= 16777216 #最大socket写入buffer
    net.ipv4.tcp_timestsmps= 0 #时间戳用来避免数据包序列号卷绕,关闭后内核接受 异常的数据包
    net.ipv4.tcp_synack_retries= 2 #syn+ack(第二次握手)的重发次数,2次后内核放弃该链接
    net.ipv4.tcp_syn_retries= 2 #重发syn的数量,2次后放弃该链接
    net.ipv4.tcp_wmen= 8192 43660 873200 #tcp写buffer 依次是 无压力 有压力 tcp拒绝分配socket
    net.ipv4.tcp_rmen= 32768 43660 873200 #tcp读buffer

    4、io时间分配机制
    tcp高并发时,非阻塞式同步io(epoll机制)或者一部io(AIO机制)

  • 相关阅读:
    @黎耀天 , 你的 论文 里 是不是 说 电场 磁场 对 光 有 作用 ?
    《如何彻底搞懂狭义相对论里的“光速不变”?》 回复
    宇宙际理论该如何理解?
    无工质 飞行装置
    《李秉泉的心里话》 回复
    《与K歌之王的交流》 回复
    我对 李炳铁 和 李秉泉 两位老师 的 学术成果 的 评价
    知乎 : 为什么美国中小学生学的数学比我们简单,美国人却还能做出超级牛的东西?
    @bnllm 快把 0, 1, 1, 无穷, 无穷, 阶乘, 指数 玩坏了
    让 我们 来 测量 普朗克常数 和 万有引力常数
  • 原文地址:https://www.cnblogs.com/plefan/p/13688394.html
Copyright © 2020-2023  润新知