MySQL5.7のパフォーマンスおよびsysスキーマのパラメータを監視する詳細な例

小云云
リリース: 2017-12-25 13:38:47
オリジナル
1717 人が閲覧しました

この記事で共有したい内容が役立つことを願っています。MySQL5.7 では、新たに追加された多数の監視項目の導入を含め、パフォーマンス スキーマが大幅に改善され、占有スペースと負荷が削減されました。 、および新しい sys スキーマ メカニズムを通じてデータを表示することで、使いやすさが向上します。この記事では、MySQL5.7 のパフォーマンスおよび sys スキーマの監視パラメーターについて説明します。必要な方は参考にしてください。

1. パフォーマンス スキーマ: はじめに

MySQL5.7 では、多数の新たに追加された監視項目の導入、スペースと負荷の削減、および新しい sys スキーマのメカニズム。モニタリングの観点から、パフォーマンス スキーマには次の機能があります:

①: メタデータ ロック:

セッション間のメタデータ ロックの依存関係を理解することが重要です。 MySQL 5.7.3 以降では、metadata_locks テーブルを通じてメタデータ ロックについて知ることができます。

-- どのセッションがどのメタデータ ロックを持っているか
-- どのセッションがメタデータ ロックを待機しているか
-- どのリクエストがデッドロックのためにブロックされているかまたは、ロックはタイムアウトを待って放棄されます

②: 進行状況の追跡:

長期的な操作 (テーブルの変更など) の進行状況を追跡する MySQL 5.7.7 以降、パフォーマンス スキーマはステートメントの進行状況情報を自動的に提供します。 events_stages_current テーブルを通じて現在のイベントの進行状況情報を確認できます。

③: トランザクション:

サービス層とストレージ エンジン層のトランザクションのあらゆる側面を監視します。 MySQL 5.7.3 以降、events_transactions_current テーブルが setup_consumers テーブルと setup_instruments テーブルを通じてオンになり、現在のトランザクションのステータスをこのテーブルを通じてクエリできるようになりました。オンライン データベースで UNDO ログが大幅に増加し、データベースのパフォーマンスが急激に低下した場合は、このテーブルを使用して、現在コミットされていないトランザクションがあるかどうかをクエリできます。多数のトランザクション状態がアクティブであることが判明した場合、データベース内で多数のトランザクションがコミットされていないと判断できます。

④: メモリ使用量:

理解に役立つメモリ使用量情報の統計を提供します。サーバーのメモリ消費量を調整します。 MySQL 5.7.2 以降、パフォーマンス スキーマには、アカウント、アクセス ホスト、スレッド、ユーザー、イベントの観点からメモリ使用プロセスをカウントするメモリ関連の統計情報が追加されました。 storage メソッド、イベント ディスパッチャー、テーブル トリガーの検出器。 MySQL5.7 の setup_objects テーブルには、イベント、関数、プロシージャ、トリガーの新しいディテクタが追加されています。パフォーマンス スキーマは、テーブル内の object_schema と object_name に一致するオブジェクトを検出するために使用されます。これは、一連のオブジェクト (ビュー、ストアド プロシージャ、ストアド メソッド、テーブル、トリガー) で構成されるスキーマであり、それ自体は情報を収集して保存しませんが、データをよりわかりやすい方法で Performance_schema と information_schema に要約します。ビュー"。

---sys スキーマは、一般的なチューニングと診断のユースケースに使用できます。これらのオブジェクトには、次の 3 つが含まれます:

①: パフォーマンス パターン データをよりわかりやすいビューに要約します。

②: パフォーマンス パターンの構成と生成など。診断レポートなどの操作のためのストアド プロシージャ

③: パフォーマンス スキーマ構成のクエリとフォーマット サービスの提供に使用されるストアド関数

---クエリ内の sys スキーマの機能、データベース サービス リソースの使用状況を確認できますか?データベース サーバーへのアクセスが最も多いホストはどれですか?インスタンスのメモリ使用量は?

3. sys スキーマにおけるテーブルの分類:

①: ホスト関連情報:

host_summary で始まるビューは主に IO 遅延情報を要約し、ホスト、ファイル イベント タイプ、ステートメント タイプなどの観点からファイル IO を表示します。情報;

②: innodb 関連情報:

innodb で始まるビューは、innodb バッファー ページ情報とトランザクション待機中の innodb ロック情報を要約します。

③: IO 使用状況:

IO で始まるビューは、以下を含む IO ユーザー情報を要約します。 IO の待機と IO の使用状況がさまざまな角度からグループで表示されます。

④: メモリ使用量: メモリから始まるビューは、ホスト、スレッド、ユーザー、イベントの観点からメモリを表示します。およびセッション情報:

その中で、processlist および session 関連のビューはセッション関連の情報を要約します。

⑥: テーブル関連の情報:

完全なテーブルからの schema_table スキャンで始まるビュー、innodb バッファー プールおよびその他の側面の表示テーブル統計情報;

⑦: インデックス情報:

インデックスの使用状況をカウントするインデックスのビューと、重複したインデックスと未使用のインデックスが含まれます。

⑧: ステートメント関連の情報:

ステートメントで始まるビュー。エラー数、警告数、フルテーブルスキャンの実行、一時テーブルの使用、ソートの実行、その他の情報を含む、正規化されたステートメントの使用状況。

⑨: ユーザー関連情報:

ユーザーで始まるビューは、使用されたファイル IO をカウントします。ユーザーによる、実行されたステートメント統計など

⑨: 待機中のイベント関連情報

:

wait で始まるビューは、ホストとイベントの観点から待機中のイベントの遅延を示します。

4. Sys スキーマの使用例:

---查看表的访问量:(可以监控每张表访问量的情况,或者监控某个库的访问量的变化)
select table_schema,table_name,sum(io_read_requests+io_write_requests) from schema_table_statistics;
select table_schema,table_name,io_read_requests+io_write_requests as io_total from schema_table_statistics;
---冗余索引和未使用索引的检查:(schema_redundant_indexes和schema_unused_indexes查看索引的情况)
select * from sys.schema_redundant_indexes\G
select * from sys.schema_unused_indexes;
(如果有冗余索引和长期未使用的索引,应该及时清理,)
---查看表自增ID使用情况:
select * from schema_auto_increment_columns\G 
(可以使用schema_auto_increment_columns视图,就能很简单的查到每个表的自增量使用情况,甚至可以精确到某个表的自增量情况)
---监控全表扫描的sql语句:
select * from sys.statements_with_full_table_scans where db='test2'\G
(使用statements_with_full_table_scans视图可以查看哪些表查询使用了全表扫描,其中exec_count是执行的次数,等信息)
---查看实例消耗的磁盘I/O情况:()
select file,avg_read+avg_write as avg_io from io_global_by_file_by_bytes order by avg_io desc limit 10;
(查看io_global_by_file_by_bytes视图可以检查磁盘I/O消耗过大的原因,定位问题)
ログイン後にコピー

関連する推奨事項:

よく使用されるいくつかの mysql 監視スクリプト コマンド

自動監視と同期を実現するmysqlスクリプト

Mysql innodb監視(システム層、データベース層)サンプルコード詳細解説

以上がMySQL5.7のパフォーマンスおよびsysスキーマのパラメータを監視する詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!