官方说明:
http://wiki.nginx.org/NginxChsHttpMainModule#worker_cpu_affinity
http://wiki.nginx.org/NginxChsHttpMainModule#worker_processes
worker_cpu_affinity这个参数要结合 worker_processes来一起使用。
其中 先说 worker_processes。
worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。 一般为当前机器总cpu核心数的1到2倍。如,我的机器为双核,那么开4个足够了。
worker_processes 4;
然后说下worker_cpu_affinity。
先看一个例子:
- worker_processes 4;
- worker_cpu_affinity 0001 0010 0100 1000;
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
分别给每个worker进程绑定一个CPU.
最关键的地方没说清楚,怎样来表示每个CPU?
引用下前辈的视图
那么,16核的cpu每个进程分配到一个cpu就应该是
如,我的双核cpu开两个进程,为
- worker_processes 2;
- worker_cpu_affinity 01 10;
worker_processes 2;
worker_cpu_affinity 01 10;
若要2核CPU开4进程,那么可以写为:
- worker_processes 4;
- worker_cpu_affinity 01 10 01 10;
worker_processes 4;
worker_cpu_affinity 01 10 01 10;
2核是 01,四核是0001,8核是00000001,有多少个核,就有几位数,1表示该内核开启,0表示该内核关闭。
worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。
配置完毕后,重启nginx 。ok!
分享到:
相关推荐
在Nginx的配置中,`worker_processes`和`worker_cpu_affinity`是两个重要的参数,它们直接影响到Nginx服务器的性能和资源利用率。** **一、worker_processes** `worker_processes`参数用于设置Nginx工作进程的数量...
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一个进程分配到多个cpu。 3....
worker_processes指令用于设置nginx worker进程的数量,worker_cpu_affinity指令用于设置worker进程的CPU亲和力。在多核CPU系统中,可以使用worker_cpu_affinity指令来优化worker进程的性能。 error_log指令 error...
# worker_cpu_affinity 0001 0010 0100 1000 worker_rlimit_nofile 65535; error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; pid logs/nginx.pid; events { ...
2. worker_cpu_affinity配置项用于设置每个worker进程应绑定到特定的CPU核心上。这样做可以减少进程间切换带来的开销,提高CPU的使用效率。在上面的内容中,给出的例子是为了将8个worker进程均匀分配到8个CPU核心上...
在日常的运维工作中,经常会用到nginx服务,也时常会碰到nginx因高并发导致的性能瓶颈问题。今天这里简单梳理下nginx性能优化的配置(仅仅依据本人的实战经验而述,如有不妥,敬请指出~...worker_cpu_affinity 0000000
2. **worker_cpu_affinity**: 通过此指令可以指定每个工作进程绑定到哪个CPU核心,确保负载均衡。示例中,8个进程分别绑定了8个CPU核心。 3. **worker_rlimit_nofile**: 设置每个Nginx进程能打开的最大文件描述符...
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; ``` - **说明**: - 将进程绑定到特定 CPU 核可以减少 CPU 之间的切换开销,从而提高性能。 - `worker_...
2. **`worker_cpu_affinity`**:此参数用于将Nginx的工作进程绑定到特定的CPU核心上,以减少上下文切换带来的性能损失。例如,如果服务器有8个核心,可以通过设置`worker_cpu_affinity 00000001 00000010 00000100 ...
`worker_cpu_affinity`设置使用二进制位来表示每个CPU核心的状态,1表示开启,0表示关闭。例如,对于4个逻辑CPU,设置`worker_processes 3; worker_cpu_affinity 0010 0100 1000;`将使3个worker进程分别绑定到第2、3...
worker_cpu_affinity 000001 000010 000100 001000 010000 100000; ``` 2. 配置负载均衡方式为 URL_HASH ```nginx upstream snsoft { server 172.16.22.11:8000; server 172.16.22.12:8000; server 172.16.22.13:...
- **worker_cpu_affinity**: 用于绑定工作进程到特定的 CPU 核心,如 `worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;` 可以将8个工作进程分别绑定到8个CPU核心。...
2. **worker_cpu_affinity**:这个指令用于分配每个工作进程到特定的CPU核心,以避免跨核心通信带来的性能损失。例子中将8个工作进程分别分配到8个CPU核心。 3. **worker_rlimit_nofile**:设定每个Nginx进程能打开...
Nginx 配置文件主要分成四部分:main(全局设置)、http(HTTP 的通用设置)、server(虚拟主机设置)... worker_cpu_affinity 设置 worker 进程的 CPU 粘性,以避免进程在 CPU 间切换带来的性能消耗。如 worker_cp
代码如下:worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。 ...
- **配置示例:** `worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;` 这里将8个进程分别绑定到8个CPU核心上。 **3. **`worker_rlimit_nofile`**:** - **作用:** ...
`worker_cpu_affinity`用于设置进程的CPU亲和性,使得不同进程绑定到不同的CPU核心,以避免过多的上下文切换,提高效率。 在`events`块中,`use epoll`选择了Linux 2.6及以上内核支持的高效事件驱动模型,`worker_...
- **worker_cpu_affinity**:设定worker进程与CPU核心的绑定关系。 - **worker_priority**:设定worker进程的优先级。 - **worker_processes**:指定worker进程的数量。 #### 八、Events模块 - **accept_mutex**:...