MySQLの - パフォーマンススキーマ学習

パフォーマンススキーマを有効にします

MySQLでは5.6 0.6バージョンの後に、パフォーマンスのスキーマは、デフォルトでオンになって
、デフォルトPSによってサポートされているのMySQLの通常バイナリバージョン
cmakeのは、パラメータDWITH_PERFSCHEMA_STORAGE_ENGINE使用する必要があるときに、コンパイラのソースのインストールを、使用している場合 = PSのサポートするために、1を

パフォーマンススキーマをストレージエンジンを達成するための方法ですしたがって、次の2つの方法がPSかどうかを判断するために使用することができます使用することができます
##チェックモード。1 
SELECT * 
INFORMATION_SCHEMA.ENGINES FROM 
ENGINE WHERE = pERFORMANCE_SCHEMA \ G 

##チェックモード2つ
の表示エンジンはGを\ 

performance_schemaを使用することができるMySQLの設定ファイルに = ONを有効にして、パフォーマンスのスキーマを初期化し、自動的に設定されている
パフォーマンススキーマの初期化が完了した後、あなたは、通常のアクセスperformance_schemaライブラリと同じデータベースを使用することができます。

 

パフォーマンススキーマの設定

## ================================================ ============================= ## 
:セットアップにストア構成情報をテーブル接頭performance_schemaライブラリ
setup_actorsを構成:ユーザーの緯度監視、すべてのユーザーの監視デフォルト。
setup_consumers:これは統計表イベントのコレクションに書かれている消費者の種類の設定イベント。
setup_instruments:IDLE、ステージ:4つの主要なカテゴリに分けあって、特定の機器を設定し、/ XXXの声明/ XXX、待機/ XXXを:
setup_objects:他のDBながら、監視し、MySQLのデフォルトを監視オブジェクトを設定performance_schemaのINFORMATION_SCHEMAテーブルではなくすべてのテーブルが監視されています。
setup_timers:命令の種類ごとに時間の統計単位を設定します。MICROSECOND統計ユニットが微妙で表し、CYCLEは、統計ユニットは、CPUのクロック速度に関連付けられているクロックサイクル時間の指標で表し、ナノ秒は、統計単位はナノ秒である表します。しかし、関係なく、最終的な統計表で採用されている措置のどのような単位は、ピコ秒までの時間のためにインストールされません。(1秒= 1000000000000ピコ秒)

## ======================================== ===================================== ## 
の更新はすぐにテーブルsetup_consumers内のデータの後に有効になりますが、します永続的に保存されていません、 
コンフィギュレーションファイルに永続的な必要性を必要とするので、もし次のような構成、
[mysqldを]
#performance_schema 
performance_schema_consumer_events_waits_current = ON 
performance_schema_consumer_events_stages_current = ON 
performance_schema_consumer_events_statements_current = ON 
performance_schema_consumer_events_waits_history = ON 
performance_schema_consumer_events_stages_history = ON 
performance_schema_consumer_events_statements_history = ON 

存在階層トップが無効になっているperformance_schema_consumer_XX、でも根底開いている場合は、まだ効果を取ることができません。
表中の値内部Setup_consumers階層関係が存在する:
LEVEL1:global_instrumentationの 
LEVEL2:thread_instrumentation、statements_digest
LEVEL3:events_stages_current、events_statements_current、events_waits_current
LEVEL4:events_stages_history、events_statements_history、events_waits_history 
LEVEL5:events_stages_history_long、events_statements_history_long、events_waits_history_long 
現在のイベント情報を格納するサフィックスを_currentするため
、_HISTORYすると_history_long接尾テーブルは履歴_currentテーブルに格納されている
最近のテーブルを待っている_HISTORYデフォルトのストアを10回のイベント、および最後の1000年_history_longデフォルトの待機イベントの保存

パラメータによって制御することができるイベントを待つ数保存されたテーブルの_HISTORY:
変数のようにSHOW performance_schema%の履歴%のサイズを; 

## ========= ================================================== ================== ## 
PSが有効になっている場合、必ずしもすべてのイベントは、イベントが収集されているかを確認するためにsetup_instruments表を表示することができ、収集されています。
SELECT *  
setup_instruments FROM; 

参考:HTTPS:// dev.mysql.com/doc/refman/5.6/en/setup-instruments-table.html 

setup_instrumentsテーブルレコードの、そして同時にアクティブ状態を有効にして有効にした場合のみ、収集することはありませんイベント

setup_instrumentsテーブルは、データの4つの広いカテゴリーが含まれています:アイドル、舞台 / XXX、声明/ XXX、待機/ 。xxxの
アイドルは、ソケットの自由な時間を表明し、
ステージクラスは、声明の実施の各段階の統計を表し
た情報ステートメントクラス文の寸法の統計、
そのようなので、上のIO、mutux、spin_lock、条件及びとして待機クラス統計様々な待機イベント、。
## ================================================ ============================= ## 

参照接続:
HTTP:// www.cnblogs.com/zhoujinyi/p/5236705。 HTML 
HTTP:// keithlan.github.io/2015/07/17/22_performance_schema/

 

パフォーマンス・スキーマ・オブジェクト

## ================================================ ## ============================= 
cond_instances:待っている状態のオブジェクトインスタンスの
テーブルは、システムで使用されるターゲット条件変数を記録し、 OBJECT_INSTANCE_BEGINは、メモリアドレスをターゲットに。


## ================================================ ## ============================= 
file_instances:ファイル・インスタンス・
テーブルは、オブジェクト・ファイルを開くためにファイルシステムがibdataを含む記録、ファイル、バイナリログファイル、ユーザファイル、テーブルをやり直し、開いているファイルの現在の数を表示open_count、再び開かれていない場合は、テーブルに表示されません。

高いビュー##回開いているファイル
SELECT * 
file_instances FROM 
OPEN_COUNT DESCのBY ORDER 
LIMIT 10 \ G 


## =========================== ================================================== ## 
mutex_instances:ミューテックス同期オブジェクトのインスタンスの
テーブルのレコード名は、システムミューテックスオブジェクトで使用されるすべてのレコード:待っ/同期/ミューテックス/ * 。
スレッドがミューテックスを保持しているLOCKED_BY_THREAD_IDショーは、どのスレッドが存在しない場合は保持している、NULLです。


## ================================================ ## ============================= 
rwlock_instances:書き込みロック同期オブジェクトインスタンスの
書き込みロックオブジェクトを使用して、テーブルの記録システム名前が待機/同期/は、rwlockであるすべてのレコード、/ *。
WRITE_LOCKED_BY_THREAD_IDには、スレッドは、保持していないが存在する場合、オブジェクトのthread_idは保持されている
NULLです。READ_LOCKED_BY_COUNTは、ロックを保持してどのように多くの読者が同時に記録されています。
;あなたは、スレッドがロックを待機するevents_waits_currentテーブルによって知ることができる
rwlock_instancesが知っていることで、スレッドがロックを保持しています。
rwlock_instances欠点は、読み取りロックのレコード書き込みロックスレッドの唯一の保有者が無力であるということです。


## ================================================ ## ============================= 
socket_instances:アクティブ・セッション・オブジェクト・インスタンス
thread_idは、socket_id、IPアドレスとポートを記録するテーブル、他のsocket_instanceに関連付けなthread_idテーブルによって行うことができる、IP-PORTは、ドッキング適用可能な情報を取得します。
:EVENT_NAMEは、主に3つの種類が含ま
待機/ IO /ソケット/ SQL / server_unix_socket、UNIXサーバーリスニングソケットを
待っ/ IO /ソケット/ SQL / server_tcpip_socket、 サーバのTCPリスニングソケット
の待機/ IO /ソケット/ SQL / client_connection、クライアントソケット

 

 パフォーマンスのスキーマ表

## ================================================ ## ============================= 
待機関連テーブルの 1.events_waits_currentを:待機している現在のスレッドのイベントを記録 2.events_waits_historyを:記録最新の10のイベントのため、各スレッドが待機 最近記録されたすべてのスレッドのイベントが10,000生成:3.events_waits_history_long ##を======================== ================================================== ## ===
ステージ関連テーブル 1.events_stages_current:で現在のスレッドの実行フェーズ記録 2.events_stages_historyを:10履歴内の現在のスレッドの実行フェーズ記録 3.events_stages_history_longを:記録し、現在のスレッドの実行が配置されています舞台10000歴史 ## =========================================== ## ================================== ステートメント関連テーブル 1.events_statements_current:なthread_id + EVENT_IDによって一意に決定します記録。 たstatmentsテーブルのレコードだけはトップレベル、SQLステートメント、またはCOMMAND、各文の行を要求します。 EVENT_NAMEフォーム声明/ SQL / *、または文/ COM / * 2.events_statements_history 3.events_statements_history_long ## =========================== ================================================== ## 接続相関テーブル 1.users:ユーザ情報記録接続の 2.hosts:接続されたホストの数に情報を記録 3.accounts:ホストに接続されたユーザの数についての情報を記録 ## ============= ================================================== ## ============== 概要テーブル:集計表はディメンション表などの個々の寸法の統計情報を収集、統計指標寸法、寸法セッション、文寸法とロック寸法 1、events_waits_summary_global_by_event_name:重合のイベントタイプを待つことによって、各イベントのレコード 2は、events_waits_summary_by_instance:、重合によれば、イベント・オブジェクトの待機イベントの同じ種類を待って、複数のインスタンスがあってもよい、各インスタンスは異なるメモリアドレスを持っているので、 EVENT_NAMEレコードを一意に識別object_instance_begin +。 3、events_waits_summary_by_thread_by_event_name:各スレッドとイベント統計、thread_idは+ EVENT_NAMEは、レコードを一意に識別する。 4、events_stages_summary_global_by_event_name:重合段階のイベント・タイプ、各イベントレコードテーブル構造上掲のための一つ。 5、events_stages_summary_by_thread_by_event_name:各スレッドのステージイベントと統計、上記テーブルの構造に関する。 6は、events_statements_summary_by_digest:重合は、イベントの声明に従って行われます。 7は、events_statements_summary_global_by_event_name:重合は、イベントの声明に従って行われます。上記テーブル構造。 図8に示すように、events_statements_summary_by_thread_by_event_name:重合は、スレッドおよびイベントのステートメント、上記テーブルの構造に応じて行われます。 9、file_summary_by_instance:イベント・タイプ(物理IO寸法)によって統計 特定の文書統計(IO物理的寸法):10、file_summary_by_event_name 11、table_io_waits_summary_by_table:待機/ IO /テーブル/ SQL /ハンドラ、 各テーブルI / O動作の重合( IOロジック緯度) 12は、table_io_waits_summary_by_index_usageある:table_io_waits_summary_by_tableと同様の、統計指標寸法に応じて 13、table_lock_waits_summary_by_table:内部ロックロックおよび外部含むテーブル重合ロック待機イベント、 SQL層thr_lockによって呼び出される内部ロック機能、動作を説明します。 通常の読み出し、共有ロック、読む優先度の高い読み取り、読み取りNO INSERTは、書き込み、書き込み同時INSERT、書き込みはDELAYEDできるよう、低優先順位を書く、ノーマル書く 外部ロックを::インターフェース機能ハンドラを介してストレージエンジン層を呼び出すexternal_lock、OPERATION列を値:外部読み取り、外部ライト 14、概要接続テーブルを:アカウント、ユーザー、ホスト 15、socket_summary_by_instance、socket_summary_by_event_name:ソケットテーブル重合を。

 

おすすめ

転載: www.cnblogs.com/gaogao67/p/11373514.html