2013-12-19 2 views
0

집합은 여전히 ​​연결 IT는 PHP의 MYADMIN 변수 트릭 DID 보인다 일정 속도 [해결]

으로 증가 잠 30 wait_timout. wait_timeout을 30으로 설정하고 Lock_wait_timeout을 50으로 설정했습니다.
여러 재시작을 포함하여 안정된 상태로 돌아 오기까지 약 6 시간이 걸렸습니다. 변경 사항을 읽는 데 시간이 필요할 수 있습니다.

문제 :

사이트 주소 홈페이지 쿼리의 http://topyaps.com

민 느린 쿼리 로그 파일에 322 in 2 seconds

아무것도.

내 wordpress 기반 무거운 사이트를 실행하려면 BITNAMI LAMP SERVER[amazon ec2]을 사용하고 있습니다.

문제는 내 서버가 10 분마다 충돌하는 것입니다.

왜냐하면 내가 생각하기에,퍼티를 사용하여 processlist를 점검하면 매우 높은 속도로 지속적으로 증가하는 것처럼 보입니다. 모두는 sleep 명령을 지정합니다.

내가 좋아하는 변수를 설정하려 :

wait_timeout=30 
interactive_timeout=30 
connect_timeout=15 
max_user_connections=25 
max_connections=999 

하지만 어떤 도움을하지 않는 것 같습니다. 단일 페이지 LOAD [홈페이지]에 대한 phpMyAdmin을 모니터의 그림을

LINK : 내가 체크 아웃 내 페이지가 표시 쿼리

Questions since startup: 50,617 Documentation 
ø per hour: 138,361 
ø per minute: 2,306 
ø per second: 38 

Statements # ø per hour % 
select 46,128 126.1 k 91.13 
set option 2,452 6,702.5 4.84 
change db 1,226 3,351.3 2.42 
update 516 1,410.5 1.02 
insert 135 369 0.27 
delete 116 317.1 0.23 
show binlogs 13 35.5 0.03 
show variables 5 13.7 0.01 
show processlist 5 13.7 0.01 
show master status 4 10.9 0.01 
show slave status 4 10.9 0.01 
show databases 4 10.9 0.01 
show tables 3 8.2 0.01 
show status 3 8.2 0.01 
show grants 1 2.7 <0.01 
kill 1 2.7 <0.01 
show table status 1 2.7 <0.01 
select 
set option 
change db 
update 
insert 
delete 
show binlogs 
Other 
91%5% 

: 여기 http://postimg.org/image/5qqgb30xb/

내가 phpMyAdmin이 상태에서 가져온 무엇인가 "2 초 안에 328 개의 쿼리".

이러한 연결을 실제로 중지하는 방법 ???

답변

0

이 쿼리가 무엇인지 처음부터 살펴 보겠습니다. 왜 그렇게 많은 사람들입니까? 그들이 반복적 인 쿼리이고 모든 연결에서 호출되는 경우 캐싱을 고려할 것입니다. memcachedW3TotalCache과 같은 플러그인을 설치하여 데이터베이스 쿼리를 캐시 할 수 있습니다. W3TotalCache를 사용하여 프론트 엔드를 캐시 할 수도 있습니다. Memcached는 쿼리 결과를 메모리에 저장하는 키 - 값 저장소입니다. 따라서 데이터베이스가 매번 동일한 쿼리에 대한 조회를 얻지는 않습니다. 또한 저장소 엔진으로 innodb를 사용하는 경우 innodb_buffer_pool_size를 RAM의 60 %로 변경하십시오.

+0

어떤 쿼리가 실행되고 있지 않은지 또는 어떤 쿼리가 느린지 확인하는 방법을 알려주십시오. ssh 클라이언트 퍼티를 사용하고 있습니다. – user2277145

+0

가장 쉬운 방법은 phpmyadmin을 설치하고 모니터링 섹션과 느린 쿼리 로그를 보는 것입니다. –

+0

안녕하세요, 그림으로 몇 가지를 업데이트했습니다. 잠금 대기 시간은 31,536,000입니다. wait_timeout과 다른 점이 있습니까? – user2277145

0

거의 사이트에 액세스 할 수는 있지만 일반적인 Wordpress 설치의 경우 페이지 비율에 대한 쿼리가 매우 높습니다. 내 생각 엔 각 페이지로드시 너무 많은 사용자 정의 쿼리를 실행하는 플러그인이 너무 많습니다.

이 쿼리의 소스를 식별하고이를 memcache와 같은 캐시 메커니즘으로 오프로드하는 방법을 찾아야합니다. 이 작업을 수행 할 수있는 W3TC와 같은 캐싱 플러그인이 있지만 사용자 정의 맞춤형 쿼리의 경우 너무 효과적이지 않을 수 있습니다.

당신은 bitnami 램프 구성으로 실행 중이므로 mysql이 웹 서버와 동일한 컴퓨터에서 실행된다고 가정 해보십시오. Amazon RDS와 같은 별도의 MySQL 서버를 실행 해 보았습니까?이것은 마법의 해결책은 아니지만 병목 현상을보다 잘 진단 할 수있는 동시에 mysql 구성을 변경하는 것을 막을 수 있습니다.

어떤 DNS를 사용하고 있습니까? 나는 Cloudflare's 무료 DNS 서비스를 사용하는 것이 정적 파일을위한 기본 캐싱 레이어를 제공한다는 것을 알았습니다. 따라서 사용자가 HTML 페이지의 정적 복사본을 제공받을 수 있습니다. aggresive html 캐싱을 수행하려면 cloudflare를 구성해야합니다. 하지만 제가 말했듯이, 그것은 무료이며 도움이됩니다.

+0

예, 다시 열렸습니다. 그래서 열리지 못했습니다. – user2277145

+0

꽤 이상한 일이지만 wp super cache를 활성화하면 내 전체 사이트가 빈 페이지가됩니다. – user2277145

+0

복제시 마스터 복제를 볼 수 있습니다. 이 서버는 복제 프로세스에서 마스터로 구성되지 않습니다. 구성 하시겠습니까? 슬레이브 복제 이 서버는 복제 프로세스에서 슬레이브로 구성되지 않습니다. 구성 하시겠습니까? – user2277145