

# Aurora MySQL における Performance Insights のPerformance Schema の概要
<a name="USER_PerfInsights.EnableMySQL"></a>

Performance Schema は、Aurora MySQL ランタイムのパフォーマンスを低い詳細レベルでモニタリングするオプション機能です。Performance Schema は、データベースのパフォーマンスへの影響を最小限に抑えるように設計されています。Performance Insights は、Performance Schema の有無に関係なく使用できる独立した機能です。

**Topics**
+ [Performance Schema の概要](#USER_PerfInsights.EnableMySQL.overview)
+ [Performance Insights と Performance Schema](#USER_PerfInsights.effect-of-pfs)
+ [Performance Insights による Performance Schema の自動管理](#USER_PerfInsights.EnableMySQL.options)
+ [Performance Schema の再起動による影響](#USER_PerfInsights.EnableMySQL.reboot)
+ [Performance Insights が Performance Schema を管理しているかどうかの確認](USER_PerfInsights.EnableMySQL.determining-status.md)
+ [Aurora MySQL における Performance Schema の有効化](USER_PerfInsights.EnableMySQL.RDS.md)

## Performance Schema の概要
<a name="USER_PerfInsights.EnableMySQL.overview"></a>

Performance Schema は、Aurora MySQL データベースのイベントをモニタリングします。*イベント*とは、時間を消費し、タイミング情報を収集できるように実装されたデータベースサーバーアクションです。イベントの例には、以下のようなものがあります。
+ 関数呼び出し
+ オペレーティングシステムの待機
+ SQL 実行のステージ
+ SQL ステートメントのグループ

`PERFORMANCE_SCHEMA` ストレージエンジンは、Performance Schema 機能を実装するためのメカニズムです。このエンジンは、データベースのソースコード内の計測を使用してイベントデータを収集します。エンジンは、イベントを `performance_schema` データベースのメモリ専用テーブルに保存します。他のテーブルにクエリを実行するのと同様に、`performance_schema` をクエリできます。詳細については、*MySQL リファレンスマニュアル*の「[MySQL Performance Schema](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html)」を参照してください。

## Performance Insights と Performance Schema
<a name="USER_PerfInsights.effect-of-pfs"></a>

Performance Insights と Performance Schema は別々の機能ですが、両者は関連しています。Aurora MySQL の Performance Insights の動作は、Performance Schema がオンになっているかどうか、およびオンになっている場合は、Performance Insights が Performance Schema を自動的に管理するかどうかによって異なります。次の表は、動作の説明です。


| Performance Schema がオンになっている | Performance Insights 管理モード | Performance Insights の動作 | 
| --- | --- | --- | 
|  はい  |  自動  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.EnableMySQL.html)  | 
|  はい  |  手動  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.EnableMySQL.html)  | 
|  いいえ  |  該当なし  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.EnableMySQL.html)  | 

## Performance Insights による Performance Schema の自動管理
<a name="USER_PerfInsights.EnableMySQL.options"></a>

Performance Insights を有効にした状態で Aurora MySQL DB インスタンスを作成すると、Performance Schema も有効になります。この場合、Performance Insights は Performance Schema パラメータを自動的に管理します。この設定を推奨します。

Performance Insights が Performance Schema を自動的に管理するとき、`performance_schema` の **Source** は `System default` です。

**注記**  
t4g.medium インスタンスクラスでは、パフォーマンススキーマの自動管理はサポートされていません。

Performance Schema は、手動で管理することもできます。このオプションを選択した場合は、次の表の値に従ってパラメータを設定します。


| パラメータ名 | パラメータ値 | 
| --- | --- | 
|  `performance_schema`  |  `1` (**[Source]** (ソース) 列には値 `Modified` があります)  | 
|  `performance-schema-consumer-events-waits-current`  |  `ON`  | 
|  `performance-schema-instrument`  |  `wait/%=ON`  | 
|  `performance_schema_consumer_global_instrumentation`  |  `1`  | 
|  `performance_schema_consumer_thread_instrumentation`  |  `1`  | 

`performance_schema` パラメータの値を手動で変更し、後で自動管理に戻す方法については、「[Aurora MySQL における Performance Schema の有効化](USER_PerfInsights.EnableMySQL.RDS.md)」を参照してください。

**重要**  
Performance Insights で Performance Schema を有効にしても、パラメータグループ値は変更されません。ただし、値は実行中の DB インスタンスで変更されます。変更された値を表示する唯一の方法は、`SHOW GLOBAL VARIABLES` コマンドを実行することです。

## Performance Schema の再起動による影響
<a name="USER_PerfInsights.EnableMySQL.reboot"></a>

Performance Insights と Performance Schema は、DB インスタンスの再起動の要件が異なります。

**Performance Schema**  
この機能をオンまたはオフにするには、DB インスタンスを再起動する必要があります。

**Performance Insights**  
この機能をオンまたはオフにするために、DB インスタンスを再起動する必要はありません。

Performance Schema が現在有効になっていない場合、DB インスタンスを再起動せずに Performance Insights を有効にすると、Performance Schema は有効になりません。

# Performance Insights が Performance Schema を管理しているかどうかの確認
<a name="USER_PerfInsights.EnableMySQL.determining-status"></a>

Performance Insights が、現在、サポート対象のメジャーエンジンバージョンの Performance Schema を管理しているかどうかを確認するには、次の表を参照してください。


| performance\$1schema パラメータの設定 | [Source] (ソース) 列の設定 | Performance Insights が Performance Schema を管理しているかどうか | 
| --- | --- | --- | 
| 0 | System default | はい | 
| 0 または 1 | Modified | いいえ | 

次の手順では、Performance Insights が Performance Schema を自動的に管理しているかどうかを確認します。

**Performance Insights が Performance Schema を自動管理しているかどうかを確認するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. [**パラメータグループ**] を選択します。

1. DB インスタンスのパラメータグループを選択します。

1. 検索バーに **performance\$1schema** と入力します。

1. **[ソース]** がシステムデフォルト、**[値]** が **[0]** であることをチェックします。上記の設定の場合、Performance Insights は Performance Schema を自動管理します。

   上記の例では、Performance Insights は Performance Schema を自動管理していません。  
![\[performance_schema パラメータの設定が変更されていることを示しています。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/perf_schema_user.png)

# Aurora MySQL における Performance Schema の有効化
<a name="USER_PerfInsights.EnableMySQL.RDS"></a>

DB インスタンスで Performance Insights がオンになっているが、現在 Performance Schema は管理していないと仮定します。Performance Insights が Performance Schema を自動管理できるようにするには、次のステップを実行します。

**自動管理用 Performance Schema を設定するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. **[パラメータグループ]** を選択します。

1. DB インスタンスのパラメータグループの名前を選択します。

1. **[編集]** を選択します。

1. 検索バーに **performance\$1schema** と入力します。

1. `performance_schema` パラメータを選択します。

1. **[デフォルト値に設定]** を選択します。

1. **[値をデフォルトに設定]** を選択して確定します。

1. **[Save changes]** (変更の保存) をクリックします。

1. DB インスタンスを再起動します。
**重要**  
Performance Schema のオンとオフを切り替えるたびに、DB インスタンスを必ず再起動します。

インスタンスのパラメータの変更の詳細については、「[Amazon Aurora の DB パラメータグループのパラメータの変更](USER_WorkingWithParamGroups.Modifying.md)」を参照してください。ダッシュボードのページの詳細については、「[Performance Insights ダッシュボードを使用してメトリクスを分析する](USER_PerfInsights.UsingDashboard.md)」を参照してください。MySQL パフォーマンススキーマの詳細については、MySQL ドキュメントの「[MySQL Performance Schema](https://dev.mysql.com/doc/refman/8.0/en/performance-schema.html)」(8.0 の場合) および「[MySQL Performance Schema](https://dev.mysql.com/doc/refman/8.4/en/performance-schema.html)」(8.4 の場合) を参照してください。