nginx 성능 최적화CPU 친화

2848 단어 nginx성능

왜 Nginx 프로 세 스 를 다른 CPU 에 연결 합 니까?
     ,Nginx               CPU   CPU      ,   Nginx            ,     Nginx        CPU              CPU        。

  worker           CPU ,     worker   CPU   ,      

cpu 수 및 cpu 핵심 수 보기:
#  cpu  
[root@zq]# grep -c processor /proc/cpuinfo
4

# 4   cpu
[root@zq]# cat /proc/cpuinfo| grep 'physical id' | sort|uniq|wc -l
4

# cpu 1 cpu  
[root@zq]# cat /proc/cpuinfo| grep 'cpu cores'|uniq
cpu cores       : 1

   4*1=4   

[root@zq]# top  #top  ,      “1”,         
top - 20:25:59 up 38 days, 12:34,  2 users,  load average: 0.04, 0.11, 0.13
Tasks: 197 total,   1 running, 192 sleeping,   4 stopped,   0 zombie
%Cpu0  :  2.0 us,  0.3 sy,  0.0 ni, 97.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  1.7 us,  0.3 sy,  0.0 ni, 98.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  1.0 us,  0.3 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  2.0 us,  0.7 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16266636 total,  1208312 free,  5560320 used,  9498004 buff/cache
KiB Swap:  8388604 total,  8388604 free,        0 used.  9973728 avail Mem

nginx 설정 CPU 친화:
[root@zq]# cat /etc/nginx/nginx.conf
user nginx;
worker_processes  4; # cpu   

##  1, CPU     ,     ,      2
#worker_cpu_affinity 0001 0010 0100 1000;  #cpu 4 ,  4 ,1           cpu  

##  2
worker_cpu_affinity auto;


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


#worker_rlimit_nofile 65535;  #nginx        


events {
    worker_connections  1024;
}

샘플:
nginx 는 CPU 친화 성 을 설정 하지 않 았 습 니 다. nginx 프로 세 스 가 CPU 를 사용 하 는 지 확인 하 십시오.
[root@zq]# ps -eo pid,args,psr | grep nginx  #psr       cpu
9472 cat /var/log/nginx/access.l   2
9483 tail -f /var/log/nginx/acce   3
20824 grep --color=auto nginx       1
27638 nginx: worker process         0
27639 nginx: worker process         0
27640 nginx: worker process         3
27641 nginx: worker process         3
30316 nginx: master process /usr/   1

nginx. conf 수정, worker 증가cpu_affinity 0001 0010 0100 1000; ,nginx 를 다시 불 러 와 nginx 프로 세 스 를 보고 4 개의 CPU 핵심 을 골 고루 사용 합 니 다.
[root@zq]# vi /etc/nginx/nginx.conf
[root@zq]# nginx -s reload -c /etc/nginx/nginx.conf
nginx: [warn] conflicting server name "127.0.0.1" on 0.0.0.0:443, ignored
nginx: [warn] conflicting server name "127.0.0.1" on 0.0.0.0:443, ignored
[root@zq]# ps -eo pid,args,psr | grep nginx
9472 cat /var/log/nginx/access.l   2
9483 tail -f /var/log/nginx/acce   3
21080 nginx: worker process         0
21081 nginx: worker process         1
21082 nginx: worker process         2
21083 nginx: worker process         3
21090 grep --color=auto nginx       1
30316 nginx: master process /usr/   0

좋은 웹페이지 즐겨찾기