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;
            ...
        }
    }
  • 相关阅读:
    HTML5 GeoLocation 地理定位
    HTML5 LocalStorage 本地存储
    JS-事件代理(委托)
    面向对象(封装、继承、多态)
    js图片预加载
    jQuery 事件
    svn无法验证
    Ext.data.Store(转)
    ExtJS实现Excel导出(转)
    <![CDATA[ ]]> 意思
  • 原文地址:https://www.cnblogs.com/-wenli/p/13668975.html
Copyright © 2011-2022 走看看