nginx를 최적화하는 방법

(*-*)浩
풀어 주다: 2019-12-17 14:44:12
원래의
3679명이 탐색했습니다.

nginx를 최적화하는 방법

Ngnix는 해시 테이블을 사용하여 요청의 빠른 처리를 지원합니다.

키와 그 값을 저장하는 해시 테이블 저장 단위의 크기가 설정된 매개변수(해시 버킷 크기)를 초과하지 않는다는 점을 고려하여 Nginx는 시작 및 각 재구성 중에 해시 테이블에 대해 가능한 가장 작은 크기를 선택합니다. ㅋㅋㅋ (권장 학습:nginx 사용)

해시 테이블이 매개변수 크기(해시 최대 크기)를 초과할 때까지 다시 선택하지 마세요. 대부분의 해시 테이블에는 이러한 매개변수를 수정하라는 지침이 있습니다. 예를 들어 서버 이름이 포함된 해시 테이블은

server_names_hash_max_size
로그인 후 복사

server_names_hash_bucket_size
로그인 후 복사

명령으로 제어됩니다. 매개변수 해시 버킷 크기는 항상 해시 테이블 크기와 동일하며 프로세서 캐시 크기의 배수입니다. 메모리에 대한 접근 횟수를 줄이면 프로세서에서 해시 테이블 키 값을 찾는 속도를 높일 수 있다.

해시 버킷 크기가 프로세서 캐시 크기와 같은 경우 키를 검색할 때 메모리 검색 횟수는 최악의 경우 2번입니다. 첫 번째는 저장 장치의 주소를 확인하는 것이고, 두 번째는 저장 장치의 키 값을 찾는 것입니다.

따라서 Nginx가 해시 최대 크기 또는 해시 버킷 크기를 늘려야 한다는 메시지를 표시하는 경우 가장 먼저 해야 할 일은 이전 매개변수의 크기를 늘리는 것입니다.

이벤트 모델

Nginx는 다음 방법을 지원합니다. 연결 처리(I/O 멀티플렉싱 방법), 이러한 방법은

use
로그인 후 복사

지시어를 통해 지정할 수 있습니다.

select - 표준 방법. 현재 플랫폼에 더 효율적인 방법이 없는 경우 컴파일 타임 기본값입니다. 구성 매개변수

--with-select_module
로그인 후 복사

--without-select_module
로그인 후 복사

를 사용하여 이 모듈을 활성화하거나 비활성화할 수 있습니다.

poll - 표준 방법. 현재 플랫폼에 더 효율적인 방법이 없는 경우 컴파일 타임 기본값입니다. 구성 매개변수

--with-poll_module
로그인 후 복사

--without-poll_module
로그인 후 복사

를 사용하여 이 모듈을 활성화하거나 비활성화할 수 있습니다.

kqueue - FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 및 MacOS X에서 사용되는 효율적인 방법입니다. 이중 프로세서 MacOS X 시스템에서 kqueue를 사용하면 커널 패닉이 발생할 수 있습니다.

epoll - Linux 커널 버전 2.6 이상의 시스템에서 사용되는 효율적인 방법입니다. SuSE 8.2와 같은 일부 배포판에는 2.4 커널에서 epoll을 지원하는 패치가 있습니다.

rtsig - Linux 커널 버전 2.2.19 이상이 설치된 시스템에서 사용되는 실행 가능한 실시간 신호입니다. 기본적으로 1024개 이하의 POSIX 실시간(대기열) 신호가 전체 시스템에 나타날 수 있습니다. 이 상황은 로드가 많은 서버에는 비효율적이므로 커널 매개변수

/proc/sys/kernel/rtsig-max
로그인 후 복사

를 조정하여 대기열 크기를 늘려야 합니다. 그러나 Linux 커널 버전 2.6.6-mm2부터 이 매개변수는 더 이상 사용되지 않으며 각 프로세스마다 독립적인 신호 큐가 있습니다. 이 큐의 크기는 RLIMIT_SIGPENDING 매개변수로 조정할 수 있습니다. 이 대기열이 너무 혼잡해지면 nginx는 이를 포기하고

poll

메서드를 사용하여 정상 상태가 될 때까지 연결을 처리하기 시작합니다.

/dev/poll - Solaris 7 11/99+, HP/UX 11.22+(eventport), IRIX 6.5.15+ 및 Tru64 UNIX 5.1A+에서 사용되는 효율적인 방법

eventport - Solaris 10에서 사용되는 효율적인 방법. . 커널 패닉 문제를 방지하기 위해서는 이 보안 패치를 설치해야 합니다.

위 내용은 nginx를 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!