때때로 Apache 오류 로그에서 다음을 찾을 수 있습니다.
[error] server reached MaxClients setting, consider raising the MaxClients setting
메모리 부족 문제로 인해 과거에 MaxClients를 의도적으로 낮추었습니다 (60).하지만 서버 에서이 한계에 도달하면 사용자 끝에서 무슨 일이 일어나고 있는지 정확하게 알고 싶습니다. 액세스하는 페이지를로드하는 데 시간이 더 걸립니까? 그들은 일종의 오류 메시지를 얻습니까?
답변
처음에는 클라이언트 요청이 아파치 서버에서 사용 가능한 프로세스 / 스레드가 될 때까지 큐에 대기됩니다. 따라서 클라이언트는 페이지로드가 지연되는 것을 보게됩니다. 자세한 내용은 MaxClients
파라미터 설명서 를 참조하십시오.
백 로그 큐에 배치되면 클라이언트 요청이 결국 클라이언트 측에서 시간 초과 될 수 있습니다. 그러면 사용자에게 브라우저에 오류 페이지가 표시되어 서버가 응답을 제공하는 데 너무 오래 걸렸다는 메시지가 표시됩니다. 예를 들어 Firefox 의 기본 시간 초과 값은 300 초입니다 . 또는 사용자가 시간 초과 전에 요청을 취소합니다 …
그런 다음 서버가 더 많은 요청을 받고 시간 내에 사용 가능한 프로세스 / 스레드를 확보 할 수없는 경우 ListenBacklog
큐가 채워질 수 있으며 (기본값은 511 큐 요청) 후속 요청은 전혀 처리되지 않습니다. 그런 다음 브라우저는 웹 사이트가 완전히 다운 된 것처럼 사용자에게 웹 사이트에 연결할 수 없음을 알려줍니다.
이 백 로그 큐는 TCP 구현에서 OS 레벨에서 관리됩니다. 리눅스에서, listen
매뉴얼 페이지는 그것이 관리되는 방법에 대한 더 많은 정보를 제공 할 것입니다. 다음은 리눅스와 BSD 시스템의 TCP 백 로그 큐에 대한 또 다른 통찰력있는 정보 입니다.