zoukankan      html  css  js  c++  java
  • linux性能优化参数小节

    总结一些和性能相关的常见参数

    内核相关参数

    位于/etc/sysctl.conf文件,向文件中添加
    sysctl -a可以查看默认配置
    修改后可以通过sysctl -p执行并看看有没有错误
    例如设置错了参数:

    net.core.somaxconn=65535
    一个端口最大的监听TCP连接的队列长度

    net.core.netdev_max_backlog=65535
    数据包速率比内核处理块时 允许送到队列的数据包的最大数目

    net.ipv4.tcp_max_syn_backlog=65535
    TCP syn队列的最大长度 第一次握手的连接 参数过大可能也会遭受syn flood攻击

    net.ipv4.tcp_fin_timeout=10
    fin超时时间 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
    net.ipv4.tcp_tw_reuse=1
    开启重用
    net.ipv4.tcp_tw_recycle=1
    快速回收

    net.core.wmem_default=87380  
    net.core.wmem_max=16777216  
    net.core.rmem_default=87380  
    net.core.rmem_max=16777216  
    

    缓冲区的默认值和最大值

    net.ipv4.tcp_keepalive_time=120
    keepalive的检测时间间隔 单位为秒
    net.ipv4.tcp_keepalive_intvl=30
    检测无效时 重发消息间隔
    net.ipv4.tcp_keepalive_probes=3
    检测无效时 最多重复确认次数

    kernel.shmmax=4294967295
    linux内核参数中最重要的参数之一
    用于定义单个共享内存段的最大值
    64位linux 可取最大值为物理内存值-1byte 建议值为物理内存一半

    vm.swappiness=0
    free -m Swap中的内容

    风险:

    • 降低操作系统性能
    • 在系统资源不足下,容易被OOM kill掉

    设置为0是告诉系统除非虚拟内存完全满了 否则不要使用交换区

    增加资源限制

    位于 /etc/security/limit.conf

    * soft nofile 65535
    * hard nofile 65535
    
    • * 对所有用户有效
    • soft 当前系统生效的设置
    • hard 系统所能设定的最大值
    • nofile 打开文件的最大数目
    • 65535 限制的数量
    • 需要重启系统生效

    设置前:

    之后open files的值会提高为65535

    磁盘调度策略

    /sys/block/devname/queue/scheduler
    查看可通过cat /sys/block/sda/queue/scheduler

    现在使用的cfq 可选的是noop和deadline


    用echo写入可以立即生效

    简介:

    • noop电梯式调度策略
      实现了一个FIFO队列 倾向饿死读而利于写 对闪存设备 RAM和嵌入式系统是最好的选择

    • deadline 截止时间调度策略
      确保了在一个截止时间内服务请求 这个截止时间是可调整的 而默认读期限短于写期限
      对于数据库类应用是最好的选择

    • anticipatory 预料IO调度策略
      本质上和deadline一样 但在最后一次读操作后 要等待6ms 才能继续进行对其他IO请求进行调度 将一些小写入流合并成一个大写入流 用写入延迟换取最大的写入吞吐量 适合写入较多的环境 比如文件服务器 对数据库环境表现很差

    • cfq 绝对公平算法

    参考资料:
    TCP/IP及内核参数优化调优

    Linux IO Scheduler(Linux IO 调度器)

  • 相关阅读:
    AVL树C++实现(end)
    B树/B+树
    树,森林,二叉树转换
    多路查找树
    变形版的九九乘法表
    原始版本的九九乘法表
    菱形变形-闪电
    菱形变形,对称+for循环
    菱形--for循环解决
    BZOJ 2037 区间DP
  • 原文地址:https://www.cnblogs.com/fairjm/p/linux_performance_arguments.html
Copyright © 2011-2022 走看看