2011-02-01 12 views
2

가능한 중복 :
How can “set timestamp” be a slow query?MySQL의 SET 타임 스탬프

내가 웹 응용 프로그램을 실행하고 및 워드 프레스 블로그는 VPS 서버에있는, PHP와 MySQL 5.1을 사용하여. 느린 쿼리 로그에는 완료하는 데 너무 오래 걸리지 않아야하는 항목에 대한 많은 항목이 표시됩니다. 이상한 것은 내가 내 블로그 링크를 클릭하면 처음에는로드하는 데 오랜 시간이 걸리지 만 이후에는 꽤 빠르다는 것입니다. 몇 시간 후에 느린 첫 번째 클릭으로 다시 돌아갑니다. 마치 "SET timestamp ="쿼리가 거의 모든 느린 항목에있는 것처럼 보입니다. 여기 같은 모습의 예입니다

 
# Time: 110129 4:02:06 
# [email protected]: appsadmin[appsadmin] @ localhost [] 
# Query_time: 1.367264 Lock_time: 0.000043 Rows_sent: 18 Rows_examined: 18 
use apps; 
SET timestamp=1296291726; 
show tables; 
# Time: 110129 4:02:07 
# [email protected]: wp_user[wp_user] @ localhost [] 
# Query_time: 0.635450 Lock_time: 0.000041 Rows_sent: 11 Rows_examined: 11 
use wordpress_user; 
SET timestamp=1296291727; 
show tables; 
# Time: 110130 4:02:03 
# [email protected]: appsadmin[appsadmin] @ localhost [] 
# Query_time: 0.592159 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 0 
use apps; 
SET timestamp=1296378123; 
SELECT /*!40001 SQL_NO_CACHE */ * FROM `mail_queue`; 
# Time: 110131 4:02:08 
# [email protected]: appsadmin[appsadmin] @ localhost [] 
# Query_time: 2.789990 Lock_time: 0.000047 Rows_sent: 18 Rows_examined: 18 
SET timestamp=1296464528; 
show tables; 
# Time: 110131 4:02:09 
# [email protected]: wp_user[wp_user] @ localhost [] 
# Query_time: 0.535981 Lock_time: 0.000041 Rows_sent: 11 Rows_examined: 11 
use wordpress_user; 
SET timestamp=1296464529; 
show tables; 
# Time: 110201 3:19:03 
# [email protected]: wp_user[wp_user] @ localhost [] 
# Query_time: 1.401393 Lock_time: 0.000071 Rows_sent: 120 Rows_examined: 145 
SET timestamp=1296548343; 
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'; 

이 내 DB 디자인에 문제가 있지만, 구성에 문제가 어떤 종류의 아니라는 것을 보여줍니다.

+0

"WP 슈퍼 캐시"로 보일 것이다 항상 느린 SHOW TABLES 쿼리가 아닌가? 당신이 MySQL에서 사용할 수있는 모든 메모리를 사용하고 있고 그 테이블이 캐시에서 빠져 나와 디스크에서 읽어야하는 것처럼 보입니다. 느립니다. –

+0

이 작업을 수행하는 것은 SHOW TABLES 쿼리 일뿐만 아니라 많은 것을 보여줍니다. MySQL에서 RAM 사용량을 표시하는 방법이 있습니까? – CrossProduct

답변

0

VPS에서 스왑을 실행하고 있습니까? 아마도 메모리 부족으로 인해 쿼리가 느려질 수 있습니다. 또한 mysql 쿼리 캐시를 활성화하고 메모리를 복구하기 위해 시스템에서 불필요한 것들 (예 : 사용하지 않는 apache 모듈, 시스템 서비스 등)을 비활성화하려고합니다. 당신이 당신의 워드 프레스 사이트에 성능 문제가있는 경우

약간 관련이없는, 나는 (http://wordpress.org/extend/plugins/wp-super-cache/)

+0

이 경우 일 수 있습니다. 어떻게 이것을 확인할 수 있습니까? 서버는 CentOS입니다. – CrossProduct

+0

'top'을 사용하여 스왑 메모리를 사용하고 있는지 확인하십시오. 일반적으로 웹 서버의 경우 스왑을 치는 것은 성능상의 이유로 바람직하지 않습니다. – asterisk