apache2 prefork "서버가 바쁜 것 같습니다" 경고, StartServers, MaxSpare 등의 변경 사항에 응답하지 않습니다.

apache2 prefork "서버가 바쁜 것 같습니다" 경고, StartServers, MaxSpare 등의 변경 사항에 응답하지 않습니다.

서문: 이것은~ 아니다"StartServers를 어떻게 설정합니까?" 질문.

저는 수년 동안 잘 작동해 온 웹 서버를 가지고 있으며 지난 주에 CloudFlare를 사용하여 프로브 및 DDOS 활동을 줄이기 시작했습니다. 그 이후로 나는 고전적인 "서버가 바쁜 것 같습니다." StartServers 등 조정 메시지로 가득 찬 Apache 오류 로그를 받았습니다. 나는 이것이 CloudFlare가 백그라운드에서 캐싱 등을 위해 많은 연결을 수행하고 있기 때문이라고 생각합니다. 그래서 StartServers, MinSpareServers 등의 수를 천천히 늘리기 시작했지만 값을 무엇으로 설정했는지에 관계없이 서버에서 여전히 해당 오류를 보고합니다. 이 서버가 실제로 mpm_prefork를 실행하고 있는지 확인하고 값을 변경할 때마다 서버를 다시 시작했습니다. apache.cfg 파일에 있는 관련 값은 다음과 같습니다.

KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 5


<IfModule mpm_prefork_module>
    StartServers          100
    MinSpareServers       100
    MaxSpareServers       150
    MaxClients            1000
    MaxRequestsPerChild   4000
</IfModule>

오류가 기록되는 동안 서버의 로드와 트래픽이 적은 것으로 나타납니다. netstat를 사용하면 최대 70개의 동시 연결이 가능하고, 서버는 8GB RAM 중 1.5GB만 사용하고, CPU는 엄청나게 바쁘고, 디스크 및 네트워크 IO는 낮습니다. 그리고 저는 10~20개의 서버 인스턴스가 실행되는(최대) 것을 보았습니다.

ps aux|grep apache2

서버 응답과 페이지 로드 시간은 상관없이 좋은 것 같습니다.

내 질문은 내 값 중 어느 것도 100보다 작지 않은데 서버가 바쁜 것 같은 오류가 발생하는 이유입니다. 그런데 일반적으로 70개의 연결만 표시됩니다. Apache가 apache2.conf 파일의 값을 무시하는 것 같습니다.

관련 정보