브라우저에서 F5 키를 눌러야 CPU 부하가 90이 되는 것을 어떻게 방지할 수 있습니까?

브라우저에서 F5 키를 눌러야 CPU 부하가 90이 되는 것을 어떻게 방지할 수 있습니까?

나는 PHP 웹사이트를 가지고 있는데 브라우저에서 F5를 누르면 다음과 같은 CPU 부하가 발생합니다.

$ w 11:34:54 최대 16일, 1분, 사용자 5명, 평균 부하: 90,81, 32,02, 12,57

그것은 내 웹사이트의 모든 페이지에서 나옵니다! 그래서 나는 그것이 알고리즘이 아니라 아파치 구성에서 나온 것이라고 생각합니까? 나는 그것에 대해 완전히 확신하지 못합니다.

나는 단일 연결로 PHP (codeigniter 포함), mongoDB를 사용합니다. 저는 연결을 사용하고 매번 재사용하기 위해 전역 상수를 사용합니다. 각 요청마다 새로운 연결을 생성하지 않습니다. 거의 모든 웹페이지는 300ms 이내에 응답합니다.

그래서 그것은 아파치에서 나오나요(그런 다음 올바른 stackechange 웹사이트에서 질문을 합니다), 아니면 글로벌 PHP 연결에서 나오나요(그런 다음 stackoverflow로 전환하겠습니다).

아니면 다른 매개변수에서 오는 건가요? 아파치에서 오는 경우 동시에 연결 수를 제한하는 방법이 있습니까? 첫 번째 요청이 완료될 때까지 기다리지 않고 동일한 페이지를 계속해서 로드하는 것은 올바른 동작이 아니기 때문입니다.

그래서 누군가가 F5를 눌러야만 내 서버를 다운시킬 수 있습니다... DDOS라면 괜찮지만 "그냥" DOS라면...

감사해요,

ㅏ.

답변1

다음 모듈을 시도해 볼 수 있습니다.

  • mod_evasive(아파치용 서비스 거부 회피 모듈)
  • mod_limitipconn(아파치 동시 접속 제한 모듈)
  • mod_cband(사용자 및 가상호스트의 대역폭 사용량 제한 문제를 해결하기 위해 제공되는 Apache 2 모듈)

그만큼유용할 수도 있습니다

하나 더. 매우 유연한 속도 제한 기능을 갖추고 있으므로 Apache 뒤에 nginx를 설정할 수 있습니다.

관련 정보