apt-get コマンドを使用して、Jeremy Zawodny バージョン 2009-04-06 の Perl mytop を Debian Squeeze OS にインストールし、MySQLd バージョン 5.1.53 を使用しています。mytop の新しいバージョンが利用できないことを示す「apt-get install mytop」をやり直します。
このバージョンの mytop は、MySQLd によって実行されるクエリの価値が体系的に非常に低いため、時代遅れのようです。実際、ステータス クエリを使用して、アップタイム以降の合計クエリを取得します。
SHOW STATUS LIKE 'Questions';
新しいバージョンの mysqld でエラーが発生します。アップタイム以降の mysql クエリの総数を取得するために、新しい mysqld サーバーは、クエリの数を「質問」ではなく「クエリ」にシフトしました。
SHOW STATUS LIKE 'Queries';
次の方法で、2 つの変数の大きな違いを確認できます。
mysql> SHOW STATUS LIKE 'Que%';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Queries | 135903 |
| Questions | 160 |
+---------------+--------+
2 rows in set (0.00 sec)
これにより、「クエリ」と「質問」の両方の値が得られます。
mytop -uJohnDoe2 -ppassword
元の mytop 出力は次のとおりです。
MySQL on localhost (5.1.63-0+squeeze1-log) up 0+01:42:35 [13:36:44]
Queries: 265.0 qps: 0 Slow: 0.0 Se/In/Up/De(%): 14760/00/00/00
qps now: 0 Slow qps: 0.0 Threads: 5 ( 1/ 5) 1500/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.9/173.8 Now in/out: 8.3/ 1.5k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- --------------
28019 root localhost 0 Query show full processlist
....
mytop を mytop.pl にコピーし、ソース Perl コードで文字列 "Questions" を "Queries" に置き換えて実行しました
mytop.pl -uJohnDoe2 -ppassword
そして、変更された mytop.pl は、より現実的な監視を提供します:
MySQL on localhost (5.1.63-0+squeeze1-log) up 0+01:42:23 [13:36:32]
Queries: 136.1k qps: 23 Slow: 0.0 Se/In/Up/De(%): 28/00/00/00
qps now: 18 Slow qps: 0.0 Threads: 5 ( 1/ 5) 27/00/00/00
Key Efficiency: 100.0% Bps in/out: 0.1/ 18.3 Now in/out: 8.4/ 1.5k
Id User Host/IP DB Time Cmd Query or State
-- ---- ------- -- ---- --- --------------
30789 root localhost 0 Query show full processlist
....
システムでこの問題を確認しましたか? つまり、MySQL の Perl モニターは、MySQLd 5.1.63 以降、クエリ/質問に関して無効になりましたか?
追加した:
Shlomi Noach の回答を読んだ後、変更された Perl スクリプト ファイル mytop.plへのリンクを追加しました。