博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过配置CPU参数 worker_cpu_affinity 提升nginx性能
阅读量:6290 次
发布时间:2019-06-22

本文共 2729 字,大约阅读时间需要 9 分钟。

简介

Nginx默认没有开启利用多核cpu,我们可以通过增加worker_cpu_affinity配置参数来充分利用多核cpu的性能。cpu是任务处理,计算最关键的资源,cpu核越多,性能就越好。
规则设定
(1)cpu有多少个核,就有几位数,1代表内核开启,0代表内核关闭

(2)worker_processes最多开启8个,8个以上性能就不会再提升了,而且稳定性会变的更低,因此8个进程够用了

示例:linode VPS 最低配,8核CPU,nginx配置信息:

worker_processes 8;worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

CPU工作状况:(输入 top 后,按1 查看)

top - 11:16:56 up 39 days,  1:16,  2 users,  load average: 0.09, 0.07, 0.10Tasks: 134 total,   1 running, 133 sleeping,   0 stopped,   0 zombieCpu0  :  0.0%us,  0.0%sy,  0.0%ni, 95.1%id,  0.0%wa,  0.0%hi,  0.0%si,  4.9%stCpu1  :  0.0%us,  0.0%sy,  0.0%ni, 98.8%id,  0.0%wa,  0.0%hi,  0.0%si,  1.2%stCpu2  :  2.3%us,  0.0%sy,  0.0%ni, 92.8%id,  0.0%wa,  0.0%hi,  0.0%si,  4.9%stCpu3  :  4.6%us,  9.2%sy,  0.0%ni, 81.2%id,  0.0%wa,  0.0%hi,  0.0%si,  5.0%stCpu4  :  1.9%us,  0.0%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  1.9%stCpu5  :  0.0%us,  0.0%sy,  0.0%ni, 98.1%id,  0.0%wa,  0.0%hi,  0.0%si,  1.9%stCpu6  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stCpu7  :  0.0%us,  0.0%sy,  0.0%ni, 96.9%id,  0.0%wa,  0.0%hi,  0.0%si,  3.1%stMem:   1024884k total,   891244k used,   133640k free,   144852k buffersSwap:   262140k total,     4172k used,   257968k free,   434072k cached

上面的配置表示:8核CPU,开启8个进程。00000001表示开启第一个cpu内核,00000010表示开启第二个cpu内核,依次类推;有多少个核,就有几位数,1表示该内核开启,0表示该内核关闭。

配置实例:

1、2核CPU,开启2个进程

worker_processes  2;  worker_cpu_affinity 01 10;

2、2核CPU,开启4进程

worker_processes 4;worker_cpu_affinity 01 10 01 10;

3、2核CPU,开启8进程

worker_processes  8;  worker_cpu_affinity 01 10 01 10 01 10 01 10;

4、8核CPU,开启2进程

worker_processes  2;  worker_cpu_affinity 10101010 01010101;

说明:10101010表示开启了第2,4,6,8内核,01010101表示开始了1,3,5,7内核 

通过apache 的ab测试查看nginx对CPU的使用状况:

top - 11:25:53 up 39 days,  1:25,  2 users,  load average: 0.33, 0.11, 0.09Tasks: 133 total,   3 running, 130 sleeping,   0 stopped,   0 zombieCpu0  :  2.3%us,  0.9%sy,  0.0%ni, 82.7%id,  0.0%wa,  0.0%hi,  0.0%si, 14.1%stCpu1  :  1.7%us,  0.6%sy,  0.0%ni, 81.8%id,  0.0%wa,  0.0%hi,  0.0%si, 16.0%stCpu2  :  2.8%us,  1.9%sy,  0.0%ni, 74.4%id,  0.0%wa,  0.0%hi,  0.0%si, 20.9%stCpu3  :  2.0%us,  0.9%sy,  0.0%ni, 83.0%id,  0.0%wa,  0.0%hi,  0.0%si, 14.0%stCpu4  :  2.2%us,  0.8%sy,  0.0%ni, 79.3%id,  0.0%wa,  0.0%hi,  0.0%si, 17.6%stCpu5  :  3.6%us,  1.1%sy,  0.0%ni, 75.9%id,  0.0%wa,  0.0%hi,  0.0%si, 19.5%stCpu6  :  2.1%us,  0.9%sy,  0.0%ni, 87.2%id,  0.0%wa,  0.0%hi,  0.0%si,  9.8%stCpu7  :  1.7%us,  0.6%sy,  0.0%ni, 80.6%id,  0.0%wa,  0.0%hi,  0.0%si, 17.1%stMem:   1024884k total,   891020k used,   133864k free,   144912k buffersSwap:   262140k total,     4172k used,   257968k free,   434244k cached

如果多个CPU内核的利用率都相差不多,证明nginx己经成功的利用了多核CPU。

测试结束后,CPU内核的负载应该都同时降低。

转载地址:http://iakta.baihongyu.com/

你可能感兴趣的文章
多校4 1001 Olympiad
查看>>
hdu1085 Holding Bin-Laden Captive!
查看>>
hdu4811 Ball
查看>>
Docker实践--搭建Yapi测试平台
查看>>
align-content 与 align-items 区别
查看>>
a链接中,name属性的应用
查看>>
Java精选笔记_多线程(创建、生命周期及状态转换、调度、同步、通信)
查看>>
java Session统计在线用户,并且显示在线用户
查看>>
spring boot集成jpa(mysql)
查看>>
js实现的玫瑰花
查看>>
大话设计模式之责任链模式
查看>>
记录libreoffice实现office转pdf(适用于windows、linux)
查看>>
Python爬虫入门这一篇就够了
查看>>
彻底卸载Cygwin
查看>>
【转】安卓开发一个月之心得(广告平台篇)
查看>>
salt 批量部署与配置
查看>>
python使用cx_oracle模块连接oracle数据库
查看>>
IOS UINavigationController 更改返回按钮
查看>>
SqlServer2005 性能调校之 利用Sql Server Profiler捕捉阻塞事件(转)
查看>>
Ubuntu 16.04 无法正常关机问题
查看>>