6. Nginx 성능 매개 변수 변조

3484 단어 Nginx
1. worker_processes
  :worker_processes number | auto;
* number:Nginx               
* auto:  Nginx       

Nginx 서버 가 동시 처리 서 비 스 를 실현 하 는 관건.모든 워 커 프로 세 스 는 단일 스 레 드 프로 세 스 로 각 모듈 을 호출 하여 다양한 기능 을 수행 합 니 다.이 모듈 들 이 차단 식 호출 이 나타 나 지 않 는 다 는 것 을 확인 하면 CPU 커 널 이 몇 개의 프로 세 스 를 설정 해 야 합 니까?반대로 차단 식 호출 이 가능 하 다 면 워 커 프로 세 스 를 좀 더 설정 해 야 합 니 다.예 를 들 어 업무 적 으로 사용자 가 로 컬 디스크 의 정적 자원 파일 을 대량으로 읽 어 달라 고 요청 할 수 있 고 서버 의 메모리 가 작 아서 대부분의 정적 자원 파일 에 접근 할 때 메모리 의 디스크 캐 시가 아니 라 디스크 를 읽 어야 합 니 다. 그러면 디스크 I / O 호출 은 worker 프로 세 스 의 적은 시간 을 막 을 수 있 습 니 다.더 나 아가 서비스의 전체적인 성능 이 떨어진다.
2. worker_connections
worker_connections number;
Default: worker_connections 1024

모든 worker 프로 세 스 의 최대 연결 수, 이론 적 으로 모든 nginx 서버 의 최대 연결 수 는 worker 입 니 다.processes * worker_connections。
3. worker_cpu_affinity
worker_cpu_affinity cpumask [cpumask……];

지정 한 CPU 커 널 에 Nginx worker 프로 세 스 를 연결 합 니 다.왜 Worker 프로 세 스 를 지정 한 CPU 커 널 에 연결 합 니까?모든 워 커 프로 세 스 가 매우 바쁘다 고 가정 합 니 다. 여러 워 커 프로 세 스 가 같은 CPU 를 뺏 고 있다 면 동기 화 문제 가 발생 할 수 있 습 니 다.반대로 모든 워 커 프로 세 스 가 하나의 CPU 를 독차지 하면 커 널 의 스케줄 링 전략 에서 완전한 병행 을 실현 합 니 다.예 를 들 어 4 개의 핵 CPU 가 있 으 면 다음 과 같은 설정 을 할 수 있 습 니 다: workerprocesses 4; worker_cpu_affinity 1000 0100 0010 0001; 주의 하 다.
  • worker_cpu_affinity 설정 은 Linux 운영 체제 에 만 유효 합 니 다.
  • 4 핵 CPU, cpumask 는 1000 0100 0010 0001 이다.8 핵 CPU, cpumask 는 10000000 01000000 00100000 0000000 00000000 00000000 00000000 00000001 으로 유추 된다.

  • 4. worker_priority
    worker_priority nice;
    Default: worker_priority 0;
    

    Nginx worker 프로 세 스 우선 순위 설정.우선 순 위 는 정적 우선 순위 와 커 널 이 프로 세 스 수행 상황 에 따라 동적 조정 (현재 ± 5 의 조정 만 있 음) 에 의 해 공동으로 결정 된다.nice 값 은 프로 세 스 의 정적 우선 순위 입 니 다. 그 수치 범 위 는 – 20 ~ + 19, – 20 은 최고 우선 순위 이 고 + 19 는 최저 우선 순위 입 니 다.따라서 사용자 가 Nginx 가 더 많은 시스템 자원 을 차지 하 기 를 원한 다 면 나 이 스 값 을 더 작 게 설정 할 수 있 지만 커 널 프로 세 스 의 나 이 스 값 (보통 – 5) 보다 작 게 설정 하 는 것 은 권장 하지 않 습 니 다.
    5. worker_rlimit_nofile
    worker_rlimit_nofile limit;
    Default:  
    

    Nginx worker 프로 세 스 가 열 수 있 는 최대 구문 설명자 갯 수 입 니 다.워 커 프로 세 스 의 최대 열 림 파일 수 제한 을 변경 합 니 다.설정 하지 않 았 다 면 이 값 은 운영 체제 의 제한 입 니 다.설정 후 운영 체제 와 Nginx 는 ulimit -a 보다 더 많은 파일 을 처리 할 수 있 기 때문에 이 값 을 높 게 설정 하면 nginx 는 too many open files 문제 가 없 을 것 입 니 다.
    6. open_file_cache
    open_file_cache max=65535 inactive=20s;
    

    파일 을 열기 위해 캐 시 를 지정 합 니 다. 기본 값 은 사용 되 지 않 았 습 니 다. max 는 캐 시 수량 을 지정 합 니 다. 파일 을 여 는 것 과 일치 하 는 것 을 권장 합 니 다. inactive 는 파일 이 요청 되 지 않 은 지 얼마 지나 지 않 아 캐 시 를 삭제 하 는 것 을 말 합 니 다.
    7. accept_mutext
    accept_mutex [on|off];
    Default: accept_mutext on;
    

    accept 자 물 쇠 를 열 지 여부 입 니 다.accept_mutex 는 Nginx 의 부하 균형 잠 금 입 니 다. 어떤 워 커 프로 세 스 가 워 커 에 연결 되 었 을 때connections 가 설정 한 최대 연결 수의 7 / 8 은 이 worker 프로 세 스 가 새 TCP 연결 을 만 들 려 고 하 는 기 회 를 크게 줄 일 수 있 습 니 다. accept 잠 금 은 기본적으로 열 려 있 습 니 다. 닫 으 면 TCP 연결 을 만 드 는 데 걸 리 는 시간 이 더 짧 지만 worker 프로 세 스 간 부하 가 불 균형 할 수 있 으 므 로 닫 는 것 을 권장 하지 않 습 니 다.
    8. accept_mutex_delay
    accept_mutex_delay Nms;
    Default: accept_mutex_delay 500ms;
    

    accept 잠 금 을 사용 한 후 실제 연결 사이 의 지연 시간 까지 입 니 다.accept 자 물 쇠 를 사용 하면 같은 시간 에 하나의 worker 프로 세 스 만 accept 자 물 쇠 를 찾 을 수 있 습 니 다.이 accept 자 물 쇠 는 자 물 쇠 를 막 는 것 이 아니 라 찾 지 못 하면 바로 돌아 갑 니 다.워 커 프로 세 스 가 자 물 쇠 를 찾 으 려 고 했 지만 찾 지 못 했다 면, 최소한 accept 를 기 다 려 야 합 니 다.mutex_delay 가 정의 한 시간 에 야 다시 자 물 쇠 를 찾 으 려 고 시도 할 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기