mysqlパフォーマンス検出常用コマンド
概要:
MySQLデータベースが一般的な2つのボトルネックはCPUとI/Oのボトルネックであり、CPUが飽和している場合、メモリにデータをロードしたり、ディスクからデータを読み出したりする場合に発生するのが一般的です.ディスクI/Oボトルネックは、ロードデータがメモリ容量よりはるかに大きい場合に発生し、アプリケーションがネットワークに分散している場合、クエリ量がかなり大きい場合にフラットボトルネックがネットワークに現れ、mpstat、iostat、sar、vmstatでシステムのパフォーマンス状態を表示できます.
||目次
1性能検査常用コマンド2ボトルネック分析常用コマンド・mysqlユーザの取得におけるプロセス総数・ホスト性能状態・CPU使用率・ディスクIO量・swap出入り量[メモリ]・データベース性能状態1性能検査常用コマンド
show status
ステータス情報を表示します.参照:Mysql show statusコマンドの詳細
show processlist
現在のSQL実行を表示します.実行ステータス、テーブルをロックするかどうかなどが含まれます.参照:Mysql show processlistコマンドの詳細
show variables
システム変数を表示します.参照:Mysql show variablesコマンドの詳細
2ボトルネック分析常用コマンド
mysqlユーザーを取得したプロセスの合計数
SQL |
コピー
1
ホストのパフォーマンスステータス
Text |
コピー
1
2
CPU使用率
Text |
コピー
1
ディスクIO量
Text |
コピー
1
swap輸出入[メモリ]
Text |
コピー
1
データベース・パフォーマンスのステータス
QPS(毎秒Query量)
QPS = Questions(or Queries)/seconds
SQL |
コピー
1
TPS(1秒あたりのトランザクション量)
TPS = (Com_commit + Com_rollback)/seconds
SQL |
コピー
1
2
key Bufferヒット率
key_buffer_read_hits = (1-key_reads/key_read_requests) * 100% key_buffer_write_hits = (1-key_writes/key_write_requests) * 100%
SQL |
コピー
1
InnoDB Bufferヒット率
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads/innodb_buffer_pool_read_requests) * 100%
SQL |
コピー
1
Query Cacheヒット率
Query_cache_hits = (Qcahce_hits/(Qcache_hits + Qcache_inserts )) * 100%;
SQL |
コピー
1
Table Cache状態量
SQL |
コピー
1
Thread Cacheヒット率
Thread_cache_hits = (1 - Threads_created/connections ) * 100%
SQL |
コピー
1
2
ロックステータス
SQL |
コピー
1
レプリケーション遅延
SQL |
コピー
1
Tmp Table状況(仮表状況)
SQL |
コピー
1
Binlog Cacheの使用状況
SQL |
コピー
1
Innodb_log_waits量
SQL |
コピー
1
MySQLデータベースが一般的な2つのボトルネックはCPUとI/Oのボトルネックであり、CPUが飽和している場合、メモリにデータをロードしたり、ディスクからデータを読み出したりする場合に発生するのが一般的です.ディスクI/Oボトルネックは、ロードデータがメモリ容量よりはるかに大きい場合に発生し、アプリケーションがネットワークに分散している場合、クエリ量がかなり大きい場合にフラットボトルネックがネットワークに現れ、mpstat、iostat、sar、vmstatでシステムのパフォーマンス状態を表示できます.
||目次
1性能検査常用コマンド2ボトルネック分析常用コマンド・mysqlユーザの取得におけるプロセス総数・ホスト性能状態・CPU使用率・ディスクIO量・swap出入り量[メモリ]・データベース性能状態1性能検査常用コマンド
show status
ステータス情報を表示します.参照:Mysql show statusコマンドの詳細
show processlist
現在のSQL実行を表示します.実行ステータス、テーブルをロックするかどうかなどが含まれます.参照:Mysql show processlistコマンドの詳細
show variables
システム変数を表示します.参照:Mysql show variablesコマンドの詳細
2ボトルネック分析常用コマンド
mysqlユーザーを取得したプロセスの合計数
SQL |
コピー
1
ps -ef | awk
'{print $1}'
| grep
"mysql"
| grep -v
"grep"
| wc -l
ホストのパフォーマンスステータス
Text |
コピー
1
2
# uptime
13:05:52 up 53 days, 52 min, 1 user, load average: 0.00, 0.00, 0.00
CPU使用率
Text |
コピー
1
# top # vmstat
ディスクIO量
Text |
コピー
1
# vmstat # iostat
swap輸出入[メモリ]
Text |
コピー
1
# free -m
データベース・パフォーマンスのステータス
QPS(毎秒Query量)
QPS = Questions(or Queries)/seconds
SQL |
コピー
1
mysql > show /*
global
*/ status
like
'Question'
;
TPS(1秒あたりのトランザクション量)
TPS = (Com_commit + Com_rollback)/seconds
SQL |
コピー
1
2
mysql > show status
like
'Com_commit'
;
mysql > show status
like
'Com_rollback'
;
key Bufferヒット率
key_buffer_read_hits = (1-key_reads/key_read_requests) * 100% key_buffer_write_hits = (1-key_writes/key_write_requests) * 100%
SQL |
コピー
1
mysql> show status
like
'Key%'
;
InnoDB Bufferヒット率
innodb_buffer_read_hits = (1 - innodb_buffer_pool_reads/innodb_buffer_pool_read_requests) * 100%
SQL |
コピー
1
mysql> show status
like
'innodb_buffer_pool_read%'
;
Query Cacheヒット率
Query_cache_hits = (Qcahce_hits/(Qcache_hits + Qcache_inserts )) * 100%;
SQL |
コピー
1
mysql> show status
like
'Qcache%'
;
Table Cache状態量
SQL |
コピー
1
mysql> show status
like
'open%'
;
Thread Cacheヒット率
Thread_cache_hits = (1 - Threads_created/connections ) * 100%
SQL |
コピー
1
2
mysql> show status
like
'Thread%'
;
mysql> show status
like
'Connections'
;
ロックステータス
SQL |
コピー
1
mysql> show status
like
'%lock%'
;
レプリケーション遅延
SQL |
コピー
1
mysql > show slave status
Tmp Table状況(仮表状況)
SQL |
コピー
1
mysql > show status
like
'Create_tmp%'
;
Binlog Cacheの使用状況
SQL |
コピー
1
mysql > show status
like
'Binlog_cache%'
;
Innodb_log_waits量
SQL |
コピー
1
mysql > show status
like
'innodb_log_waits'
;