phpMyAdmin
の状態
を見るのが良いです。
色々なサイトから情報をいただきました。
キャッシュヒット率(下にも書いています)
hits / (hits + inserts + not_cached) * 100
参考
- MySQL Cache メモ - Qiita
- MySQLパフォーマンスチューニング -クエリキャッシュ適用状況の確認- - Qiita
- MySQL クエリキャッシュの概要と導入・評価方法 | WEB ARCH LABO
- LAMP システムを調整する: 第 3 回 MySQL サーバーを調整する
クエリキャッシュ設定
my.cnf
# クエリキャッシュ最大サイズ(デフォルト1M)
query_cache_limit=1M
# クエリキャッシュで使用するメモリサイズ。
# 一般的なルールとして、FLUSH QUERY CACHE に長い時間がかかるようであれば大きすぎます。
query_cache_size=32M
# クエリキャッシュのタイプ
# (0:off, 1:ON SELECT SQL_NO_CACHE以外, 2:DEMAND SELECT SQL_CACHEのみ)
query_cache_type=1
現在のクエリキャッシュ設定値
mysql> SHOW VARIABLES LIKE '%query_cache%';
+------------------------------+----------+
| Variable_name | Value |
+------------------------------+----------+
| have_query_cache | YES | --キャッシュクエリを使用可能か
| query_cache_limit | 1048576 | --クエリキャッシュ最大サイズ(1MB)
| query_cache_size | 33554432 | --クエリキャッシュ領域。(32MB)
| query_cache_type | ON | --クエリをキャッシュする(SELECT SQL_NO_CACHE以外)
| query_cache_wlock_invalidate | OFF | --書込みロック獲得時に、ロックしたテーブルに関するクエリキャッシュを無効にするか
+------------------------------+----------+
5 rows in set (0.00 sec)
現在のクエリキャッシュの利用状況
クエリキャッシュ
mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+------------+
| Variable_name | Value |
+-------------------------+------------+
| Qcache_free_blocks | 2108 | --空きメモリーブロックの数。起動時は1。1だと良い。それ以上だと断片化しているためFLUSH QUERY CACHEにてキャッシュのデフラグも検討。
| Qcache_free_memory | 6830336 | --クエリーキャッシュ用の空きメモリーの量
| Qcache_hits | 3810442057 | --クエリーキャッシュヒットの数。
| Qcache_inserts | 397612602 | --クエリーキャッシュに追加されるクエリーの数
| Qcache_lowmem_prunes | 307230686 | --メモリーが少ないためクエリーキャッシュから削除されたクエリーの数
| Qcache_not_cached | 151054542 | --非キャッシュクエリーの数 (キャッシュできないか、query_cache_type 設定のためキャッシュされない)
| Qcache_queries_in_cache | 8044 | --クエリーキャッシュ内に登録されたクエリーの数
| Qcache_total_blocks | 26009 | --クエリーキャッシュ内のブロックの合計数
+-------------------------+------------+
8 rows in set (0.00 sec)
キャッシュヒット率
Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached) * 100
起動してからこれまでの最大同時接続数 確認
mysql> SHOW STATUS LIKE '%connect%';
+----------------------+------------+
| Variable_name | Value |
+----------------------+------------+
| Aborted_connects | 1 |
| Connections | 1747049786 |--起動してからの累積接続数
| Max_used_connections | 323 |--起動してからこれまでの最大同時接続数
| Threads_connected | 1 |--現在の接続数
+----------------------+------------+
4 rows in set (0.00 sec)
table_cache
mysql> SHOW STATUS LIKE 'open%tables';
+---------------+--------+
| Variable_name | Value |
+---------------+--------+
| Open_tables | 1024 | --table_cache値で指定した分キャッシュされる。
| Opened_tables | 489028 |
+---------------+--------+
2 rows in set (0.00 sec)
mysql> flush tables;
Query OK, 0 rows affected (0.00 sec)
mysql> show open tables;
Empty set (0.00 sec)