웹사이트를 구성할 때 시스템 리소스를 최대한 활용하고 시스템의 모든 잠재력을 최대한 활용하며 웹사이트 속도를 최대화해야 합니다. Apache는 사용자 탐색과 웹사이트 데이터 사이의 중간 다리입니다. 그러나 여기에서는 많은 작업을 수행하지는 않지만 신중하게 처리하면 일부 설정은 즉각적인 결과를 얻을 수 있습니다.
1. Apache를 설치할 때 MPM을 올바르게 선택해야 합니다.
Apache가 최상의 성능을 발휘하도록 하려면 첫 번째 단계는 적절한 MPM을 선택하는 것입니다. > (권장 학습: Apache 서버 )
Apache에는 3개의 MPM이 있으며, 이는 이벤트, 프리포크 및 작업자입니다.
그 중에서도 연속 접속이 많은 상황에는 이벤트 MPM이 더 적합합니다. KeepAlive의 장점은 동일한 TCP 연결에서 여러 요청에 응답할 수 있다는 것입니다. 이러한 방식으로 많은 수의 이미지가 포함된 HTML 문서를 50%까지 가속화할 수 있습니다. KeepAlive를 시작하려면 Apahce 구성 파일 httpd.conf에서 KeepAlive를 On으로 설정하십시오.
prefork는 스레드되지 않은 MPM입니다. 그 특징은 매우 빠르지는 않지만 매우 안정적입니다. 각 요청을 격리하므로 한 요청이 실패하더라도 다른 요청에는 영향을 미치지 않습니다. 프리포크를 사용할 때 가장 중요한 매개변수는 MaxClients입니다.
MaxClients 값은 최대 액세스 시간 동안 좋은 성능을 달성할 수 있을 만큼 충분히 커야 하지만 동시에 Apache에 필요한 메모리가 실제 메모리 크기를 초과할 정도로 커서는 안 됩니다.
worker는 Apache2 버전에서 새로 개발된 MPM으로, prefork보다 훨씬 빠릅니다. 또한, 접근 처리를 위해 멀티스레드를 사용하기 때문에 상대적으로 많은 수의 요청을 처리할 수 있으며, 시스템 자원 사용량도 프로세스 기반 서버에 비해 적다. 작업자는 Apache 2의 주요 용도입니다.
Worker에는 ThreadsPerChild 및 MaxClients라는 두 가지 중요한 구성 매개변수가 있습니다. ThreadsPerChild는 각 하위 프로세스에 대해 생성이 허용되는 스레드 수를 제어하는 데 사용되고, MaxClients는 생성이 허용되는 총 스레드 수를 제어하는 데 사용됩니다.
그렇다면 이 3가지 MPM을 선택하는 방법은 무엇일까요?
더 나은 확장성이 필요한 경우 작업자 또는 이벤트를 선택할 수 있습니다(스레드 MPM이기 때문에). 더 나은 안정성과 호환성(예: 일부 오래된 소프트웨어에 대한 적응)이 필요한 경우 프리포크를 선택할 수 있습니다. "프리포크에서 워커로: 우분투 아파치 작업 모드 수정"
여전히 요구 사항을 평가할 수 없고 어떤 MPM을 선택해야 할지 모르겠다면 워커를 사용하는 것이 좋습니다.
2.Apache 구성 최적화
Ubuntu에서 Apache의 주요 구성 파일은 /etc/apache2/apache.conf입니다.
(1) DNS 쿼리 끄기
HostnameLookups는 기본적으로 꺼짐으로 설정되어 있으므로 이 설정을 유지해야 합니다. 클라이언트 DNS를 계산해야 하는 경우 타사 소프트웨어를 사용하여 계산할 수 있습니다.
(2) MaxClients 최적화
Apache2가 시작되면 일부 프로세스(구성 파일에서 StartServer가 설정한 수)를 생성하고 이 수를 초과하는 모든 연결 요청은 대기열에 대기하게 됩니다.
위 내용은 Apache 서버 성능을 최적화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!