2013-12-09 2 views
1

저는 MySQL 사용과 관련하여 많은 메모리 문제가 있습니다.MySQL/PHP는 모든 메모리를 사용합니다.

메모리 소비량을 보려면 SSH에 추가하십시오.

ps --no-headers -Leo pmem,pcpu,command|awk 'BEGIN { print "CPU\t\ttMEM\t\tPROCNAME \n" } {{array[$3]+=$2};{array2[$3]+=$1}} END { for (item in array) print array[item] " %" "\t" ,array2[item] " %" "\t\t", item }' |awk 'NR==1;NR > 1 {print $0 | "sort -rn -k 1,1"}' 

메모리 소비의이 이미지는 :

버스트 메모리 : 2천48메가바이트

http://i.stack.imgur.com/Dcdfq.png

  • 이전 이미지가

VPS 서버 사양의 MySQL/PHP의 높은 소비를 보여줍니다

보증 된 메모 Y : 1,024메가바이트

RAID10 저장 : 60기가바이트

월간 교통 : 2,000기가바이트

OS : CentOS의 6 32 비트

의 cPanel & WHM은

어떻게 그것을 해결할 수

?

+0

하면, 전체 결과 집합이고 index'd가 subselect보다는 조인과 중첩 된 SQL이 질문의 클래스에 – ins0

+0

SQL querys와 PHP 스크립트를 최적화하여이 서버 부하를 감소 answere도 유효합니다 - "더 많은 서버 전원 구입" – Dave

+1

를 쿼리 어디를보다 효율적으로 사용하는 데 다시 잡아 당기지 마십시오 – ins0

답변

0

좋은 소식 : 귀하의 사이트는 너무 인기가있어서 귀하의 호스팅 용량을 능가했습니다!

나쁜 소식 : 귀하의 사이트가 너무 인기가있어 귀하의 호스팅 용량을 능가했습니다.

CPU 및 메모리 사용량만으로는 실제 성능이 저하되는 것은 아닙니다. 특히 트래픽이 극대화되어 리소스 사용량이 가장 많은 웹 응용 프로그램의 경우에는 특히 그렇습니다.

사이트가 실제로 느린 경우 가장 저렴한 옵션은 호스팅 제공 업체에서 더 많은 CPU/메모리를 구입할 가능성이 높습니다.

아마도 성능을 희생해서 메모리 소비를 줄이기 위해 MySQL 구성 설정을 조정할 수 있습니다.

더 많은 금액을 지불하고 싶지 않으면 사이트를 최적화해야합니다. 세부 사항 없이는 특정하기가 어렵지만 가장 낮은 매달린 과일은 대개 다음과 같습니다.

  • 캐싱 사용. 효율성의 순서에 따라 페이지를 캐싱 (예 : CDN 사용), 페이지 미리보기 캐싱, 데이터베이스 쿼리 캐시 등의 작업을 수행 할 수 있습니다. 이것은 CPU에 도움이되지만 메모리 사용량을 증가시킬 수 있습니다.
  • 데이터베이스를보고 장기 실행 쿼리를 찾으십시오. 그들을 조정해라.
관련 문제