Nginx 架构 性能优化 - CPU亲和配置 和 通用配置

Nginx.conf work_process配置

CPU 亲和绑定 减少进程的切换,减少性能损耗.

worker_processes  16; 
worker_cpu_affinity 0000000000000001 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 
0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000;

worker_processes 配置的核心数,可以通过top查看, 或者物理CPu个数 * 每个CPU的核数

worker_cpu_affinity 字符串16表示平均分配

查看work process

ps -eo pid,args,psr | grep [n]ginx

慕课老师配置

user nginx;

worker_processes 16;

#worker_cpu_affinity 0000000000000010 0000000000000010 0000000000000100 0000000000001000 0000000000010000 0000000000100000 0000000001000000 0000000010000000 0000000100000000 0000001000000000 0000010000000000 0000100000000000 0001000000000000 0010000000000000 0100000000000000 1000000000000000;

#worker_cpu_affinity 1010101010101010 0101010101010101;

worker_cpu_affinity auto;

error_log /var/log/nginx/error.log warn;

pid /var/run/nginx.pid;

worker_rlimit_nofile 35535;

events {

use epoll;

worker_connections 10240;

}

http {

include /etc/nginx/mime.types;

default_type application/octet-stream;

#######

#Charset

charset utf-8;

log_format main \'$remote_addr - $remote_user [$time_local] "$request" \'

\'$status $body_bytes_sent "$http_referer" \'

\'"$http_user_agent" "$http_x_forwarded_for" "$request_uri"\';

access_log /var/log/nginx/access.log main;

#######

#Core modlue

sendfile on;

#tcp_nopush on;

#tcp_nodeny on;

keepalive_timeout 65;

########

#Gzip module

gzip on;

gzip_disable "MSIE [1-6]\.";

gzip_http_version 1.1;

########

#Virtal Server

include /etc/nginx/conf.d/*.conf;

}