参考资料

[1]. 跟老男孩学Linux运维:Web集群实战,老男孩

安装过程

默认情况Nginx的多个进程有可能跑在某一个或某一核的CPU上,导致Nginx进程使用硬件的资源不均。可以分配不同的Nginx进程给不同的CPU处理,达到充分有效利用硬件的多CPU多核资源的目的。

在优化不同的Nginx进程对应不同的CPU配置时,四核CPU服务器的参数配置参考如下:

## 编辑文件
[root@www ~]# vim /application/nginx/conf/nginx.conf
## 并修改如下
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;
#worker_cpu_affinity就是配置nginx进程CPU亲和力的参数,即把不同的进程分给不同的CPU处理。这里0001 0010 0100 1000是掩码,分别代表1、2、3、4核CPU,由于worker_processes进程数为4,因此上述配置会把每个进程分配一核CPU处理,默认情况下进程不会绑定任何CPU,参数位置为main段
## 重启
[root@www ~]# /application/nginx/sbin/nginx -t
[root@www ~]# /application/nginx/sbin/nginx -s reload## 安装测试软件 webbench
yum install -y gcc ctags #先安装编译需要的组件
wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz #解压Webbench
cd webbench-1.5 #进入webbench目录
mkdir /usr/local/man ←建立相应目录(否则导致无法正常安装)
make
make install #编译安装## 实际测试
c:客户端个数
t:持续时间,如果不设置t参数,默认是执行30秒
webbench --help  获取帮助文档
注:网址的最后面必需添加 /,例如 https://www.baidu.com/
[root@www ~]# webbench -c 10000 -t 18 http://127.0.0.1/每秒钟响应请求数:24525 pages/min,每秒钟传输数据量20794612 bytes/sec.
注意:webbench 做压力测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,请将 webbench 安装在别的服务器上。(另外开一台机器进行测试)
1. 压力测试工作应该放到产品上线之前,而不是上线以后2. 测试时尽量跨公网进行,而不是内网3. 测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少4. 应尽量进行单元测试,如B2C网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大八核CPU服务器的参数配置参考如下:worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;
worker_cpu_affinity参数的官方说明如下:syntax: worker_cpu_affinity cpumask.....        #此行为cpu亲和力参数语法,cpumask为cpu掩码
default:    ---     #默认不配置
context:    main        #此行为worker_cpu_affinty参数可以放置的位置
worker_cpu_affinity的作用是绑定不同的worker进程到一组CPU上。通过设置bitmask控制允许使用的CPUS,默认worker进程不会绑定到任何CPUS。worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;
binds each worker process to a separate CPU, while
worker_processes  2;
worker_cpu_affinity 0101 1010;
binds the first worker process to CPU0/CPU2, and the second worker process to CPU1/CPU3. The second example is suitable for hyper-threading.The directive is only available on FreeBSD and Linux.
绑定第一个Ningx工作进程到CPU0/CPU2,第二个绑定到 CPU1/CPU3,第三个例子是适合超级线程的。这个例子仅仅适合在 FreeBSD 和 Linux 系统
From : http://nginx.org/en/docs/ngx_core_module.html

优化绑定不同的Nginx进程到不同CPU上相关推荐

  1. Linux 查看进程在哪个CPU上运行

    ps命令的输出格式可以通过-o参数定制,可以使用如下命令显示进程所对应的执行CPU: # ps -eo pid,args,psr 参数的含义: pid - 进程ID args - 该进程执行时传入的命 ...

  2. 缉拿隐藏进程以及隐藏CPU利用率的进程

    前面我介绍过很多隐藏进程的把戏,随后我对每一种把戏有针对性的给出了反制措施,可以翻看我2020/03-2020/08的文章,太多了,不再一一列举. 如今,我要介绍一种超级简单的手段,手艺人必备. 无论 ...

  3. nginx进程模型,事件模型

    众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在unix系统中会以daemon的方式 ...

  4. Linux技巧:多核下绑定硬件/进程到不同CPU

    http://www.51testing.com/html/07/n-222407.html 硬件中断发生频繁,是件很消耗 CPU 资源的事情,在多核 CPU 条件下如果有办法把大量硬件中断分配给不同 ...

  5. 运行中的Nginx进程间的关系

    第2章 Nginx的配置 Nginx拥有大量官方发布的模块和第三方模块,这些已有的模块可以帮助我们实现Web服务器上很多的功能.使用这些模块时,仅仅需要增加.修改一些配置项即可.因此,本章的目的是熟悉 ...

  6. 写了个Python脚本监控nginx进程

    写了个Python脚本监控nginx进程 « Xiaoxia[PG] 写了个Python脚本监控nginx进程 接上一文用iptables让SSH服务对陌生人说不.还是有点担心这个学期内,nginx可 ...

  7. linux 关闭nginx进程,Linux环境下启动、停止、重启nginx

    启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /us ...

  8. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

     1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...

  9. linux内核线程绑定到单个核,linux 将进程或者线程绑定到指定的cpu上

    基本概念 cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关联性:再简单的点的描述就将指定的进程或线程绑定到相应的 ...

最新文章

  1. 安卓socks5代理客户端_内网Mysql代理浅析
  2. Spring Boot----基础
  3. 数字变化滚动到指定数字的文字特效
  4. 一次ctf中代码审计分析
  5. c++ primer 第14章 习题解答
  6. Eight HDU - 1043(八数码+搜索)
  7. eureka 集群失败的原因_eureka集群中的疑问?
  8. python中自定义模块导入飘红_hadoop streaming 中跑python程序,自定义模块的导入
  9. java 一些容易忽视的小点-类和对象
  10. (25)FPGA面试题5分频器
  11. 鸟哥的Linux私房菜-服务器架设篇
  12. 常用函数的傅里叶变换汇总
  13. 【MindSpore易点通机器人-01】你也许见过很多知识问答机器人,但这个有点不一样
  14. Android系统权限和root权限
  15. 云迁移实践:VMware虚拟机迁移到腾讯云
  16. 第四单元:丰富的网页媒体
  17. R语言的graphics功能(画图)
  18. 那天我和小姐姐扯了半小时的JVM~
  19. http请求走私漏洞原理,利用,检测,防护
  20. Mybatis相关:pagehelper--超爽的分页插件

热门文章

  1. 《聪明的投资者》思维导图
  2. 投资信托学习笔记(二)
  3. 交行网银:解析证书DN异常
  4. Vue中使用Ueditor
  5. 由于 Exception.ToString() 失败,因此无法打印异常字符串。
  6. 优思学院|8D和DMAIC两种方法应如何选择?
  7. FWTools 2.4.7建金字塔及其常见BUG解决方法
  8. Windows可以变小 - 精简你windows的80%想象会怎样?LitePC来帮你
  9. java poi word 图表_Java操作Poi--word图表中颜色的设置
  10. Linux-更改终端字体大小