zoukankan      html  css  js  c++  java
  • Nginx加载多个CPU核心,worker_cpu_affinity

    配置Nginx多核CPU,worker_cpu_affinity使用方法和范例
    1. 2核CPU,开启2个进程

    worker_processes 2;
    worker_cpu_affinity 01 10;

    01表示启用第一个CPU内核,10表示启用第二个CPU内核
    worker_cpu_affinity 01 10;表示开启两个进程,第一个进程对应着第一个CPU内核,第二个进程对应着第二个CPU内核。 
    2. 2核CPU,开启4个进程

    worker_processes 4;
    worker_cpu_affinity 01 10 01 10;

    开启了四个进程,它们分别对应着开启2个CPU内核
    3. 4核CPU,开4个进程

    worker_processes 4;
    worker_cpu_affinity 0001 0010 0100 1000;
    0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推
    4. 4核CPU,开启2个进程

    worker_processes 2;
    worker_cpu_affinity 0101 1010;
    0101表示开启第一个和第三个内核,1010表示开启第二个和第四个内核
    2个进程对应着四个内核
    worker_cpu_affinity配置是写在/etc/nginx/nginx.conf里面的。
    2核是 01,四核是0001,8核是00000001,有多少个核,就有几位数,1表示该内核开启,0表示该内核关闭。

    5. 8核CPU,开8个进程

    worker_processes 8;
    worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
    0001表示启用第一个CPU内核,0010表示启用第二个CPU内核,依此类推

    worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。
    配置完毕后,重启nginx ,执行/etc/init.d/nginx restart
    测试nginx是否有用到多个CPU内核 ,在另一台机器上执行ab.exe -c 1000 -n 1000 http://www.domain.com/index.php
    ab.exe是装apache后带的一个性能测试工具,它可以模拟多客户端的并发请求。
    在服务器上执行top,然后按1,就可以看到CPU内核的工作情况。如果多个CPU内核的利用率都相差不多,证明nginx己经成功的利用了多核CPU。
    测试结束后,CPU内核的负载应该都同时降低。

  • 相关阅读:
    为什么说LD_LIBRARY_PATH不好
    linux c/c++ code统计耗时
    c++: abs() 与fabs() 的区别
    char代表有符号还是无符号?
    git三个小技巧:删除指定 commit、修改历史 commit 中的作者信息、合并某文件到当前分支
    vim选中字符复制/剪切/粘贴
    git rebase
    git打patch
    数据仓库生命周期工作箱 第六章 维度建模
    数据仓库生命周期工作箱 第二章 项目/项目群的启动与管理
  • 原文地址:https://www.cnblogs.com/sunbeidan/p/5016714.html
Copyright © 2011-2022 走看看