>백엔드 개발 >PHP 튜토리얼 >nginx 이벤트 모듈 지시어

nginx 이벤트 모듈 지시어

WBOY
WBOY원래의
2016-08-10 08:48:381036검색
accept_mutex구문: accept_mutex [ on | off ]기본값: onnginx는 연결 뮤텍스를 사용합니다. lock은 순차적인 accept() 시스템 호출을 수행합니다. 🎜>기본값: 500ms
프로세스에 뮤텍스가 없으면 최소한 얼마 동안 지연됩니다. 기본적으로 지연은 500ms입니다. debug_connection구문: debug_connection [ip | CIDR]기본값: 없음
이 명령은 디버그 로그를 인쇄하는 데 사용되는 IP를 지정할 수 있습니다예: devpoll_changes devpoll_eventskqueue_eventsepoll_events
<span>error_log</span> /var/log/nginx/errors;
<span>events</span><span>{</span><span>debug_connection</span><span>192.168</span><span>.1</span><span>.1</span>;

<span>}</span>
구문:
devpoll_changes 이 매개변수는 지정된 방식으로 커널에 전달되거나 커널에서 전달되는 이벤트 수를 지정합니다. 기본 devpoll 값은 32이고 나머지는 512입니다. multi_accept구문: multi_accept [ on | off ]
기본값: offnginx가 새 연결을 얻은 후 accept()를 최대한 많이 호출할지 여부를 지정합니다. rtsig_signo구문: rtsig_signomulti_acceptNginx는 rtsig 모드 이후에 사용됩니다. 활성화 두 개의 신호, 이 명령은 첫 번째 신호 번호를 지정하고 두 번째 신호 번호는 첫 번째 + 1입니다rtsig_signo의 기본값은 SIGRTMIN+10(40)입니다. rtsig_overflow_events rtsig_overflow_test

rtsig_overflow_threshold

inctax :
이 세 가지 지침은 rtsig 대기열 오버플로 처리와 관련되어 있습니다. rtsig 대기열이 오버플로되면 nginx는 대기열을 지우고 poll()과 rtsig> 사이를 전환하며, poll()은 처리되지 않은 이벤트를 처리합니다. 동시에 새로운 오버플로를 방지하기 위해 rtsig는 대기열 요소를 주기적으로 줄입니다. 오버플로가 처리되면 다시 rtsig로 전환됩니다. >rtsig_overflow_events는 폴링 모니터 수를 지정하며, 기본값은 16

rtsig_overflow_test 이벤트 폴링 핸들 수를 지정한 후 rtsig는 대기열 요소를 줄입니다. 기본값은 32
rtsig_overflow_threshold 이 옵션은 Linux 2.4에서만 유효합니다. 이 옵션은 대기열 요소를 줄이기 전에 채워지는 대기열의 양을 지정합니다. 기본값은 1/10입니다.

사용사용 [ kqueue | rtsig | epoll | /dev/poll | poll | 기본값: 시 둘 이상의 이벤트 모델이 지정되면 그 중 하나를 설정하여 nginx에게 사용할 이벤트 모델을 알릴 수 있습니다. 기본적으로 nginx는 에서 시스템에 가장 적합한 이벤트 모델을 찾습니다.
nginx 이벤트 모델에는 다음이 포함됩니다. ./configure./configure
선택 - 표준 방법. 현재 플랫폼에 더 효율적인 방법이 없는 경우 컴파일 타임 기본값입니다. 구성 매개변수 을 사용하여 이 모듈을 활성화하거나 비활성화할 수 있습니다. 설문조사 - 표준 방법입니다. 현재 플랫폼에 더 효율적인 방법이 없는 경우 컴파일 타임 기본값입니다. 구성 매개변수 및 을 사용하여 이 모듈을 활성화하거나 비활성화할 수 있습니다.
  • --with-select_modulekqueue - FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 및 MacOS X에서 사용되는 효율적인 방법입니다. 이중 프로세서 MacOS X 시스템에서 kqueue를 사용하면 커널 충돌이 발생할 수 있습니다. --without-select_module
  • epoll - Linux 커널 버전 2.6 이상의 시스템에서 사용되는 효율적인 방법입니다. SuSE 8.2와 같은 일부 배포판에는 2.4 커널에서 epoll을 지원하는 패치가 있습니다.
  • --with-poll_modulertsig - Linux 커널 버전 2.2.19 이상이 설치된 시스템에서 사용되는 실행 가능한 실시간 신호입니다. 기본적으로 전체 시스템에는 1024개 이하의 POSIX 실시간(대기열) 신호가 나타날 수 있습니다. 이 상황은 로드가 많은 서버에는 비효율적이므로 커널 매개변수 --without-poll_module를 조정하여 대기열 크기를 늘려야 합니다. 하지만 Linux 커널 버전 2.6.6-mm2부터 이 매개변수는 더 이상 사용되지 않으며 각 프로세스마다 별도의 신호 큐가 있습니다. 이 큐의 크기는 RLIMIT_SIGPENDING 매개변수로 조정될 수 있습니다. 이 대기열이 너무 혼잡해지면 nginx는 이를 포기하고
  • 메서드를 사용하여 정상 상태가 될 때까지 연결을 처리하기 시작합니다.
  • /dev/poll - 효율적인 방법, Solaris 7 11/99+, HP/UX 11.22+(이벤트 포트), IRIX 6.5.15+ 및 Tru64 UNIX 5.1A+에서 사용됩니다.
  • 이벤트 포트 - Solaris 10을 위한 효율적인 방법입니다. 커널 충돌을 방지하려면 이 보안 패치를 설치해야 합니다.
  • /proc/sys/kernel/rtsig-maxpoll

  • worker_connections구문: worker_connections 번호프로세스당 최대 연결 수 worker_connections 및 Worker_processes를 통해 최대 동시성 수를 계산할 수 있습니다. 즉, 최대 동시성 수 = work_connections x work_process

    저작권: 이 글은 블로그 이 글은 원본 기사이므로 블로거의 허가 없이 복제할 수 없습니다.

    위 내용은 관련 내용을 포함하여 nginx 이벤트 모듈 지침을 소개한 내용으로, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

  • 성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.