2012-12-17 5 views
0

700 MHz CPU를 사용하는 매우 느린 홈 서버 (raspberry pi)가 있습니다. 일부 사이트를 개발할 때 이미지 리사이저 (imagecreatefromjpeg(), imagecreatetruecolor(), imagecopy())에 큰 (5 MB) .jpg 파일을 입력하면 서버가 중지됩니다.어떻게하면 apache2의 리소스를 제한 할 수 있습니까?

나는 파일을 처리하고 있다고 말하고 싶지만, 몇 분을 기다리더라도 끝나지 않습니다.

문제는 내가 쉘을 액세스하거나 apache2를 다시 시작할 수 없다는 것입니다. 유일한 해결책은 서버의 전원을 완전히 끄는 것입니다.

나는 아파치 2의 HW 자원을 제한 할 수있는 방법이 있는지 궁금했다. 예를 들어 80 %의 CPU 사용량을 제한 할 수 있다면 어쩌면 쉘에 액세스하여 중단 할 수 있습니다.

나는 timeout과 max_execution_time 지시어를 설정하려고 시도했지만, apache2가 무한히 작동하고 서버가 멈추는 것을 멈추지 않는다.

어떻게 해결할 수 있습니까?

답변

0

나는 당신이 그것의 자신의 설정에서 아파치의 cpu 사용을 제한 할 수 있다고 생각하지 않는다. 당신은 cpulimit 같은 별도의 응용 프로그램을 사용해 볼 수 있습니다

(참조 : how-to를)

$ sudo apt-get install cpulimit 
$ man cpulimit 

또한 서버의 전반적인 성능을 최적화하려면 다음을 시도 할 수 있습니다. 그런 다음

CONF_SWAPSIZE=512 

:은/etc/dphys - 스왑 세트의 스왑을 확장

<IfModule mpm_prefork_module> 
    StartServers   2 
    MinSpareServers  2 
    MaxSpareServers  3 
    MaxClients   50 
    MaxRequestsPerChild 0 
</IfModule> 
  • :

    • 을 편집 /etc/apache2/apache2.conf하고이 값을 사용 실행 :

      $ sudo dphys-swapfile setup 
      $ sudo dphys-swapfile swapon 
      
    • 당신의 라스베리를 오버 클럭하세요 (소리보다 안전합니다) :

      $ sudo raspi-config 
      

      950MHz에서 사용합니다. 더 높은 옵션 (1000MHz)이 있지만 포럼의 일부 사람들은 SD 손상에 대해 불평을 늘어 놓았습니다.

    • 그래픽 인터페이스를 사용하지 않는 경우 raspi-config memory_split에서 그래픽 메모리를 16으로 설정할 수도 있습니다.

  • -1

    apache-mod_ratelimit을 설치할 수 있습니다. 또한 Control Apache with httpd.conf을 참조하십시오.

    +0

    Apache mod_ratelimit은 클라이언트의 대역폭 속도 제한 용입니다. (참조 : https://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html) – aramboi

    +0

    또한 RLimitCPU 지침 (http://httpd.apache.org/docs/trunk/mod/core.html 참조) #rlimitcpu)는 하위 프로세스가 사용할 수있는 CPU 시간을 초 단위로 제한합니다. 해당 프로세스에 대해 CPU 한도를 설정하지는 않지만 여전히 위의 경우에 유용 할 수 있습니다. – aramboi

    관련 문제