zoukankan      html  css  js  c++  java
  • Nginx优化:CPU篇

    CPU

    1.worker进程数量应当等于cpu核心数
    配置语法:worker_processes number | auto;
    比如:worker_processes auto;
    配置位置:main

    2.worker进程绑定cpu
    配置语法:worker_cpu_affinity cpumask 1000 0100 0010 0001; # 4核为例
    默认配置:worker_cpu_affinity auto;
    配置位置:mian

    2.停止系统上其他耗资源的非Nginx进程

    3.减少主动切换,提升优先级占用cpu更长的时间
    Nice静态优先级:-20 -- 19,尽量小,比如-20 ;
    Priority动态优先级:0-139;
    配置语法:worker_priority number;
    默认配置:worker_priority -20;
    配置位置:main

    4.减少被动切换,worker进程尽量使用非阻塞调用,别使用阻塞调用主动让出cpu
    nginx lua的使用时,应该注意严禁使用lua自带的一些库,严禁使用会造成阻塞的库,尽量使用 lua-resty-* 的库,这些是openresty的相关库,是经过验证的。

    5.延迟处理连接:当与客户端建立连接后,不会立即激活worker进程去处理连接

    server {
            listen 80 deferred;
            return 200 "OK
    ";
    }

    6.为了防止惊群问题,新版本的Nginx内核(3.9)会使用reuseport。在内核中实现了负载均衡,使用后,如果你再次使用top命令查看,你会发现worker进程之间占用cpu的time会均衡。

    http {
        server {
            listen 80 reuseport;
            ...
        }
    }
  • 相关阅读:
    生成二维码
    IIS与Apache同时使用80端口
    C# 时间类型
    EXT 省市三级联动及默认选择
    拼音首字母查询汉字内容
    web.config
    使用input=file上传
    Js 扩展
    Linux 调试错误
    图的最短路径Dijkstra
  • 原文地址:https://www.cnblogs.com/-wenli/p/13668975.html
Copyright © 2011-2022 走看看