mysqlパフォーマンス検出常用コマンド

3833 ワード

概要:
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' ;