

# IO:XactSync
<a name="apg-waits.xactsync"></a>

`IO:XactSync`イベントは、データベースが Aurora ストレージサブシステムが通常のトランザクションのコミットを承認するか、準備済みトランザクションのコミットまたはロールバックの承認を待機中に発生します 準備済みトランザクションは、PostgreSQL の 二相コミットサポートの一部です。このイベントは、クエリが別のトランザクションのコミットを待っている場合、特に自動コミットがオフになっている場合に発生する可能性があります。このようなシナリオでは、更新がまだコミットされていない場合でも XactSync を待っているように見えることがあります。

**Topics**
+ [サポート対象エンジンバージョン](#apg-waits.xactsync.context.supported)
+ [Context](#apg-waits.xactsync.context)
+ [待機時間が増加する原因の可能性](#apg-waits.xactsync.causes)
+ [アクション](#apg-waits.xactsync.actions)

## サポート対象エンジンバージョン
<a name="apg-waits.xactsync.context.supported"></a>

この待機イベント情報は、Aurora PostgreSQL のすべてのバージョンでサポートされています。

## Context
<a name="apg-waits.xactsync.context"></a>

イベント`IO:XactSync`は、インスタンスが、 Aurora ストレージサブシステムがトランザクションデータの処理の確認を待つ時間を費やしていることを示します。

## 待機時間が増加する原因の可能性
<a name="apg-waits.xactsync.causes"></a>

`IO:XactSync`イベントが通常より頻繁に発生する場合は、パフォーマンスの問題を示していることがあります。典型的な原因は次のとおりです。

**ネットワークの飽和**  
クライアントと DB インスタンス間のトラフィック、またはストレージサブシステムへのトラフィックが、ネットワーク帯域幅に対して重すぎる可能性があります。

**CPU プレッシャー**  
ワークロードが重いと、Aurora ストレージデーモンが十分な CPU 時間を得られていない可能性があります。

## アクション
<a name="apg-waits.xactsync.actions"></a>

待機イベントの原因に応じたさまざまなアクションをお勧めします。

**Topics**
+ [リソースをモニタリングする](#apg-waits.xactsync.actions.monitor)
+ [CPU のスケールアップ](#apg-waits.xactsync.actions.scalecpu)
+ [ネットワーク帯域幅の増加](#apg-waits.xactsync.actions.scalenetwork)
+ [コミットの回数を減らす](#apg-waits.xactsync.actions.commits)

### リソースをモニタリングする
<a name="apg-waits.xactsync.actions.monitor"></a>

`IO:XactSync`イベント増加の原因を特定するには、次のメトリックをチェックします。
+ `WriteThroughput`および`CommitThroughput` - 書き込みスループットまたはコミットスループットの変化は、ワークロードの増加を示している可能性があります。
+ `WriteLatency`および`CommitLatency` - 書き込みレイテンシーまたはコミットレイテンシーの変更は、ストレージサブシステムがより多くの作業の実行を要求されてていることを示している可能性があります。
+ `CPUUtilization` - インスタンスの CPU 使用率が 90% を超える場合、Aurora ストレージデーモンが CPU 上で十分な時間を得ていない可能性があります。この場合、I/O パフォーマンスが低下します。

これらのメトリクスの詳細については、[Amazon Aurora のインスタンスレベルのメトリクス](Aurora.AuroraMonitoring.Metrics.md#Aurora.AuroraMySQL.Monitoring.Metrics.instances)を参照してください。

### CPU のスケールアップ
<a name="apg-waits.xactsync.actions.scalecpu"></a>

CPU 不足の問題に対処するには、CPU 容量が多いインスタンスタイプへの変更を検討してください。DB インスタンスクラスの CPU 容量については、「[Aurora 用の DB インスタンスクラスのハードウェア仕様](Concepts.DBInstanceClass.Summary.md)」を参照してください。

### ネットワーク帯域幅の増加
<a name="apg-waits.xactsync.actions.scalenetwork"></a>

インスタンスがネットワーク帯域幅制限に達しているかどうかを判断するには、次の他の待機イベントを確認します。
+ `IO:DataFileRead`、`IO:BufferRead`、`IO:BufferWrite`、および`IO:XactWrite`— 大量の I/O を使用するクエリは、これらの待機イベントをより多く発生させることがあります。
+ `Client:ClientRead`および`Client:ClientWrite` - 大量のクライアント通信を持つクエリでは、これらの待機イベントをより多く発生させることがあります。

ネットワーク帯域幅に問題がある場合は、より多くのネットワーク帯域幅を持つインスタンスタイプへの変更を検討してください。DB インスタンスクラスのネットワークパフォーマンスについては、「[Aurora 用の DB インスタンスクラスのハードウェア仕様](Concepts.DBInstanceClass.Summary.md)」を参照してください。

### コミットの回数を減らす
<a name="apg-waits.xactsync.actions.commits"></a>

コミットの数を減らすには、ステートメントをトランザクションブロックにまとめす。