2011-02-01 2 views
2

可能性の重複:
How can “set timestamp” be a slow query?MySQLのSETスロークエリとしてタイムスタンプ

私はPHPを使用してWebアプリケーションとWordpressのブログを実行しているとMySQL 5.1、VPSサーバに常駐しているのです。低速のクエリログには、完了までに時間がかかりすぎない項目のエントリが多数表示されています。奇妙なことは、私が自分のブログリンクをクリックすると、最初は読み込みに時間がかかることですが、その後はかなり速いです。その後、数時間後にもう一度ゆっくりと最初のクリックに戻ります。まるで "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

それはいつも遅いのですが、SHOW TABLESクエリではありませんか?あなたがMySQLに利用可能なすべてのメモリを使用しているようで、それらのテーブルがキャッシュから落ちてディスクの読み込みが遅くなっているようです。 –

+0

これを実行するのはSHOW TABLESクエリだけでなく、多く表示されます。 MySQLのRAM使用量を表示する方法はありますか? – CrossProduct

答えて

0

VPSでスワップを実行していますか?おそらくメモリが足りないためにクエリが遅くなる可能性があります。また、mysqlクエリキャッシュを有効にして、システム上の不要なもの(たとえば、未使用のApacheモジュール、システムサービスなど)を無効にしてメモリを回復させようとします。

少し関係のない、あなたのワードプレスサイトのパフォーマンスの問題がある場合、私は「WPスーパーキャッシュ」になります(http://wordpress.org/extend/plugins/wp-super-cache/)

+0

これが原因である可能性があります。これを確認するにはどうすればいいですか?サーバーはCentOSです。 – CrossProduct

+0

スワップメモリ​​を使用しているかどうかを調べるには 'top'を使います。一般的にウェブサーバーの場合、スワップを打つことはパフォーマンス上の理由では良いことではありません – asterisk

関連する問題