Nginx性能优化CPU参数worker_cpu_affinity使用说明


官方说明:http://wiki.nginx.org/NginxHttpMainModule#worker_cpu_affinit
引用
worker_cpu_affinity
Syntax: worker_cpu_affinity cpumask [cpumask...]

Default: none

Linux only.

With this option you can bind the worker process to a CPU, it calls sched_setaffinity().

For example,

worker_processes     4;
worker_cpu_affinity 0001 0010 0100 1000;

Bind each worker process to one CPU only.

worker_processes     2;
worker_cpu_affinity 0101 1010;

Bind the first worker to CPU0/CPU2, bind the second worker to CPU1/CPU3. This is suitable for HTT.

一个服务器为Q9300单cpu,4核心,于是可以直接用官方的配置:worker_cpu_affinity 0001 0010 0100 1000;
效果如下,看起来每个cpu核心都比较平均:

top - 21:17:56 up 4 days,  7:41,  3 users,  load average: 0.25, 0.44, 0.47
Tasks: 238 total,   1 running, 237 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.3%us,  0.3%sy,  0.0%ni, 94.2%id,  5.2%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.3%us,  0.0%sy,  0.0%ni, 96.2%id,  0.6%wa,  0.6%hi,  2.2%si,  0.0%st
Cpu2  :  0.3%us,  0.0%sy,  0.0%ni, 93.5%id,  5.5%wa,  0.0%hi,  0.6%si,  0.0%st
Cpu3  :  0.0%us,  0.0%sy,  0.0%ni, 96.5%id,  3.5%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8119372k total,  3641940k used,  4477432k free,   504900k buffers
Swap:  8385888k total,    10664k used,  8375224k free,  2407512k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                             
30743 apache    20   0  6632 3800  812 S  0.3  0.0   0:00.51 nginx                                                                  
30745 apache    20   0  7156 4384  812 S  0.3  0.1   0:00.85 nginx

最关键的地方没说清楚,怎样来表示每个CPU?
经过漫天的搜索和多次尝试发现

那么,16核的cpu每个进程分配到一个cpu就应该是

本站所在VPS的CPU为Intel(R) Xeon(R) CPU E5520 @ 2.27GHz x 2,因此写为:

worker_processes     2;
worker_cpu_affinity 01 10;

若要2核CPU开4进程,那么可以写为:

worker_processes     4;
worker_cpu_affinity 01 10 01 10;

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

转载于:https://www.cnblogs.com/amityat/archive/2011/08/23/2150175.html

关于nginx性能优化CPU参数worker_cpu_affinity使用说明相关推荐

  1. linux nginx cpu 高,Linux 系统 Nginx性能优化CPU参数

    Nginx性能优化CPU参数worker_cpu_affinity使用说明 官方说明: worker_cpu_affinity Syntax:worker_cpu_affinity cpumask [ ...

  2. ab测试nginx Nginx性能优化

    转自:https://www.cnblogs.com/nulige/p/9369700.html 1.性能优化概述 在做性能优化前, 我们需要对如下进行考虑 1.当前系统结构瓶颈 观察指标 压力测试 ...

  3. 分享 11 个常用的 Nginx 性能优化参数工作

    编辑:业余草 来源:https://www.xttblog.com/?p=4957 分享 11 个常用的 Nginx 性能优化参数教程 工作上,需要配置 Nginx,要投入生产使用,做了一点优化工作, ...

  4. Nginx 性能优化

    Nginx 性能优化有这篇就够了! 1.Nginx运行工作进程数量 Nginx 运行工作进程个数一般设置CPU的核心或者核心数x2.如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/p ...

  5. Nginx 性能优化(吐血总结)

    文章目录 一.性能优化考虑点 1.当前系统结构瓶颈 2.了解业务模式 3.性能与安全 二.系统与Nginx性能优化 1.文件句柄 (1)设置方式 (2)系统全局性修改和用户局部性修改 (3)进程局部性 ...

  6. Nginx性能优化(超详细)

    目录 一.性能优化考虑点 一.当前系统结构瓶颈 二.了解业务模式 三.系统与Nginx性能优化 1.文件句柄 (1)设置方式 (2)系统全局性修改和用户局部性修改 (3)进程局部性修改 2.cpu的亲 ...

  7. linux性能优化--cpu篇

    linux性能优化--cpu篇 前言 负载 CPU使用率 proc perf 一些链接 `perf list` 比较有用的event `perf stat` `perf record` Profili ...

  8. 老司机整理对Nginx性能优化

    Nginx性能优化应遵循一个原则:一次只调整一项,调整不理想,将修改还原. Linux参数 Nginx很多功能直接使用操作系统实现,操作系统决定nginx上限. 现代linux内核(2.6+)涵盖了大 ...

  9. 【Linux 性能优化系列】Linux 性能优化 -- CPU 性能篇(三) Linux 软中断

    [Linux 性能优化系列]Linux 性能优化 -- CPU 性能篇(三) Linux 软中断 [1]相关概念 [1.1]中断 中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力:为了减少 ...

最新文章

  1. 挺带劲,这款国人开源的监控系统功能真强大~
  2. python自带gui_一个极简易上手的 Python GUI 库
  3. 禁止input输入框输入指定内容
  4. 达梦想oracle迁移,oracle存储过程迁移达梦心得
  5. 迪普科技以近50%份额全面中标国家电网2016信息化硬件采购
  6. 使用WebLogic共享库连续交付ADF应用程序
  7. springboot java获取版本号_深入实践Spring Boot 实战篇,大佬整理出的PDF文档
  8. BZOJ 2763: [JLOI2011]飞行路线 spfa dp
  9. 云小课 | 玩转HiLens Studio之快速订购HiLens Studio版本
  10. 博客园 文章和随笔区别
  11. UPNP解读2-含netbios,wins,DNS
  12. 【第七课】Smart 3D集群教程
  13. java本学期期末学员,本学期期末学员共参加了3门课的考试,即Java,C,SQL,编写方法计算每位学员3门课的平均分,...
  14. DataGridView显示时间格式
  15. 【Python】基础语法之一:变量、字符串、数、注释
  16. 深入浅出TensorFlow2函数——tf.data.Dataset.shuffle
  17. 关于H5、CSS3新增的一些元素及属性
  18. Csdn修改账户手机绑定问题
  19. 史上十大权势女性排行榜:武则天为何不如慈禧
  20. Uncaught Error: USERKEY_PLAT_NOMATCH 的原因和解决办法

热门文章

  1. 7wifi模块多少钱_APP开发要多少钱?创业者估算成本的四个方法
  2. 系统学习NLP(二十二)--主题模型LDA
  3. 系统学习机器学习之总结(一)--常见分类算法优缺点
  4. 【Java程序设计】多线程进阶
  5. scala练习:依据输入的年和月打印该月日历
  6. Cmake构建_指定gcc/g++版本
  7. 字符串处理类库_CharString
  8. 一)golang的单例模式
  9. 什么是真正的程序员:A Little Printf Story
  10. Linux系统目录结构解析(centos)