2011-07-01 3 views
0

지금은 MySQL 과부하에 문제가있어 매우 바쁠 때 서버가 완전히 응답을 멈 춥니 다. 내 데이터베이스 중 하나는 트래픽의 전리품을 가지고 있지만, 어떻게 처리 할 수 ​​있습니다 this.do 나는 더 나은 서버가 필요하거나 데이터베이스에 대한 다른 engion 필요합니까 알아. 순간에 나는 MyISAM을 사용하고있다. 내가 다루고있는 테이블 중 일부는 420000 개의 레코드 (82.7 MiB)를 가지고 있습니다. 많은 인서트가 있고 선택이 매우 중요합니다. 어떤 도움이 많이 필요합니다.MYSQL 오버로드

나는 상태를 볼 때이 메시지가 나타납니다. whm

/usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/server.sy2.com.pid --skip-external-locking 

서버로드는 대부분 180 % -220 %입니다.

나는이 질문에 간단한 대답이 없습니다 서버

netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n 

    1 established) 
    1 Foreign 
    17 SYN_RECV 
    28 FIN_WAIT1 
    30 LISTEN 
154 ESTABLISHED 
188 FIN_WAIT2 
1206 TIME_WAIT 

아파치 상태

Current Time: Saturday, 25-Jun-2011 19:00:34 BST 
Restart Time: Friday, 24-Jun-2011 20:41:36 BST 
Parent Server Generation: 11 
Server uptime: 22 hours 18 minutes 58 seconds 
Total accesses: 1866618 - Total Traffic: 12.2 GB 
CPU Usage: u25.92 s20.03 cu1142.19 cs0 - 1.48% CPU load 
23.2 requests/sec - 159.5 kB/second - 6.9 kB/request 
206 requests currently being processed, 12 idle workers 


this is the server spec 
Linux - Dual Quad Core Intel Xeon E5620 
Hard Disk: 4x300GB SAS 15k RPM 
RAM: 12 GB DDR3 RAM 
RAID Options: RAID 10 (needs 4 identical Drives) 
Operating System: CentOS 5.x 
Control Panel: cPanel/WHM 
Bandwidth: 5000 GB 
+4

당신은 당신이 가지고있는 활성 연결/쿼리 수를 결정하기 위해 MySQL의 명령 "쇼 PROCESSLIST"로 봤어 :

또한이 가이드에서 살펴 봐야 할 수 있습니다? 이것은 잠금 및 블로킹 인 색인화되지 않은 느린 쿼리의 간단한 경우이거나 연결을 해제하지 않은 클라이언트와 관련이있을 수 있습니다. – Nthalk

답변

2

에를 입력했습니다. 문제 해결 방법에 대한 지침. 실제로 서버가 처리 할 수있는 최대로드로 실행되고 있으며 최적화를 많이하지 못할 수도 있습니다.

다음으로 시작하십시오. 로 시작하십시오. 그러면 얼마나 많은 연결이 열려 있고 어떤 문제가 잠금 문제로 인해 멈출 수 있는지를 알 수 있습니다.

느린 쿼리 로그를 사용하려면 천천히 응답하는 쿼리를 찾아 실행 계획을보기 위해 explain을 사용하십시오. 누락 된 인덱스가 있거나 구조적 문제로 인해 쿼리가 느리게 실행될 수 있습니다.

더 많은 데이터를 메모리에 캐시 할 수 있도록 데이터베이스 서버 설정을 조정할 수 있습니다. mysqltuner와 같은 몇가지 툴이 있는데, 여러분이보아야 할 설정으로 안내 할 수 있습니다. http://www.fromdual.com/mysql-performance-tuning-key