2017-12-02 25 views
1

나는 공유 호스트에서 백엔드를 전송하기 위해 vps를 구입했습니다. 나는 아파치 2, PHP, MySQL 서버를 설치했다. 내 VPS의 설정 :Vps 느린 응답

  • 램 : 6기가바이트
  • CPU : 코어 6
  • SSD : 1백50기가바이트
  • 포트 : 1 Gbps의
  • OS : 우분투 16.04

I을 테스트 요청을하면 모든 것이 고속으로 작동하며 100ms 이내에 응답을받습니다. 그러나 내 사용자 (하루 25-35k)가이 서버를 사용하기 시작하면 서버 속도가 느려집니다. 때로는 응답을 얻기 위해 1 ~ 2 분이 필요합니다. 때로는 응답이 전혀 나오지 않는 경우도 있습니다.

내 관리자 패널을 사용하여 서버로드를 확인하고 있습니다. 모든 요청은 5-10 분당 400KB의 발신 데이터와 50KB 미만의 수신 데이터를 보여줍니다. 서버는 사용할 수있는 RAM의 절반 이하를 사용합니다.

내 아파치 설정은 다음과 같습니다 정말 이해 cant't

<IfModule mpm_prefork_module> 
StartServers  2 
MinSpareServers 25 
MaxSpareServers 75 
ServerLimit  40 
MaxClients   1000 
MaxRequestsPerChild 0 
     MaxRequestWorkers  500 
     MaxConnectionsPerChild 100 
</IfModule> 

, 어떤 것은 낮은 응답 속도에 대한 이유가 될 수 있습니다. 누구든지 나를 도울 수 있습니까?

+1

앱을 프로파일 링하고 문제가 어디 있는지 확인하고 속도를 높이면 더 많은 로켓을 던지는 것이 필요합니다. 서버로드 측정 항목은 무엇입니까? 내 사이트 중 하나가 문제없이 1 코어/1GB 램에 하루에 150k + 히트 (json/rpc)의 지속적인 스트림을 보유하고 있습니다. –

+1

내 서버로드 메트릭 : 1 분 (현재 : 0.03, 평균 : 0.01, 최대 : 0.03), 5 분 : (현재 : 0.01, 평균 0.00, 최대 : 0.01). 램 사용 : 250 MB. 교통량 : 100 Kb.그래, 그게 내 스크립트 내에서 뭔가가 이해하지만, 문제는 문제가 vps에만 발생합니다 제한된 CPU/램/대역폭과 공유 호스팅은 –

+0

게시이 serverfault.stackexchange.com에 게시하고 솔루션에 대한 희망 ! –

답변

0

설정 파일이 혼란 스럽습니다. 어떤 버전의 Apache를 실행하고 있습니까?

MaxRequestsPerChild

는 이전 이름이 계속 지원됩니다 2.3.13

의로 MaxRequestWorkers되었다

MaxClients 2.3.9의로 MaxConnectionsPerChild되었다,하지만 당신은 모두가 없어야합니다.

어쨌든 주 문제는 ServerLimitMaxClients/MaxRequestWorkers 값입니다.

각 아파치 인스턴스가 25MB의 RAM을 사용한다고 가정 해 봅시다 (대략을 사용할 수 있지만 25MB로 실행하는 볼 파크 그림과 같이). 당신은 놀 6기가바이트을 가지고 있지만 당신은 122.8 MaxClients

귀하의 MinSpareServers/MaxSpareServers 값은 내가 그 바로 아래를 가져올 것 또한 높은 것이 25분의 3,072 =의 아파치 3기가바이트을 제공하는 것처럼, 그래서 MySQL의 일부를 필요로한다.

나는 MaxClients/ServerLimit의 값이 같은 뭔가 어설프게 시작 MaxRequestsPerChild뿐만 아니라 (모두 같은 값을 사용) 것입니다 :

<IfModule mpm_prefork_module> 
StartServers 2 
MinSpareServers 2 
MaxSpareServers 5 
MaxClients 100 
ServerLimit 100 
MaxRequestsPerChild 100 
</IfModule> 

그런 다음 그것을 아파치를 다시 시작하고 스트레스 테스트.