>  기사  >  php教程  >  Apache 성능 최적화 (5)

Apache 성능 최적화 (5)

黄舟
黄舟원래의
2016-12-21 11:27:361205검색

다음은 작업자의 기본 구성 섹션입니다.

StartServers 2

MaxClients 150 / /Set 모든 하위 프로세스의 총 스레드 수입니다. 기존 하위 프로세스의 총 스레드 수가 로드를 충족할 수 없는 경우 제어 프로세스는 새 하위 프로세스를 생성합니다.

MinSpareThreads 25 //유휴 스레드의 최소 개수가 설정되었습니다.

MaxSpareThreads 75 //유휴 스레드의 최대 개수가 설정되었습니다. MinSpareThreads 및 MaxSpareThreads의 최대 기본값은 75입니다. 즉, 여기서의 정의는 이를 초과해서는 안 됩니다.

ThreadsPerChild 25

MaxRequestsPerChild 0 //작업자 MPM에서 성능과 가장 밀접한 명령어이다. ThreadsPerChild의 최대 기본값은 64입니다. 로드가 큰 경우 64로는 충분하지 않습니다. 이때 ThreadLimit 명령어는 명시적으로 사용해야 하며 최대 기본값은 20,000입니다. 위의 두 값은 소스 트리 server/mpm/worker/worker.c의 다음 두 줄에 있습니다:

#define DEFAULT_THREAD_LIMIT 64

#define MAX_THREAD_LIMIT 20000
이 두 줄은 ThreadsPerChild 및 ThreadLimit의 제한 수에 해당합니다. 구성하기 전에 64를 원하는 값으로 변경하는 것이 가장 좋습니다. 이 두 값을 너무 높게 설정하여 시스템의 처리 능력을 초과하지 않도록 주의하세요. 그렇게 하면 Apache가 시작되지 않아 시스템이 불안정해질 수 있습니다.

작업자 모드에서 동시에 처리할 수 있는 총 요청 수는 총 하위 프로세스 수에 ThreadsPerChild 값을 곱하여 결정됩니다. , 이는 MaxClients보다 크거나 같아야 합니다. 로드가 매우 크고 기존 하위 프로세스의 수를 충족할 수 없는 경우 제어 프로세스는 새로운 하위 프로세스를 생성합니다. 하위 프로세스의 기본 최대 총 개수는 16입니다. 증가하는 경우 ServerLimit도 명시적으로 선언해야 합니다(최대값은 20000). 이 두 값은 ​​​​소스 트리 server/mpm/worker/worker.c의 다음 두 줄에 있습니다:
#define DEFAULT_SERVER_LIMIT 16
#define MAX_SERVER_LIMIT 20000

명시적으로 ServerLimit이 선언된 경우 ThreadsPerChild를 곱한 값은 MaxClients보다 크거나 같아야 하며 MaxClients는 ThreadsPerChild의 정수 배수여야 합니다. 그렇지 않으면 Apache가 자동으로 해당 값으로 조정됩니다(예상치 못한 결과일 수 있음). 값).

위 내용은 아파치 성능 최적화(5) 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


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