Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  複数のロールバックセグメントによるスケーラビリティーの向上

14.13.12 複数のロールバックセグメントによるスケーラビリティーの向上

MySQL 5.5 を含む InnoDB 1.1 から、並列トランザクションの制限が大幅に拡張されたため、大容量システムに影響を与えていた InnoDB のロールバックセグメントでのボトルネックが解消されました。この制限は、何らかのデータを変更する並列トランザクションに適用されます。読み取り専用トランザクションは、その最大数に対してカウントされません。

1 つのロールバックセグメントが現在 128 個のセグメントに分割され、そのそれぞれで、書き込みを実行するトランザクションを最大 1023 個サポートできるため、合計で約 128K 個の並列トランザクションがサポートされます。元のトランザクション制限は 1023 でした。

各トランザクションはいずれかのロールバックセグメントに割り当てられ、存続期間中は、そのロールバックセグメントに結び付けられたままになります。この拡張により、スケーラビリティー (並列トランザクションの数の増加) とパフォーマンス (各種のトランザクションがロールバックセグメントにアクセスした場合の競合の減少) の両方が向上します。

この機能を利用するために新しいデータベースまたはテーブルを作成したり、何かを再構成したりする必要はありません。MySQL 5.1 以前からのアップグレードの前、またはその後しばらくして低速シャットダウンを実行する必要があります。低速シャットダウンを実行したあとにはじめて再起動すると、システムテーブルスペース内の必要な変更が InnoDB によって自動的に行われます。

ワークロードが 1023 個の並列トランザクションの元の制限によって制約されなかった場合は、構成オプション innodb_rollback_segments を設定することによって、MySQL インスタンスまたはセッション内で使用されるロールバックセグメントの数を減らすことができます。

高いトランザクション負荷の下での InnoDB のパフォーマンスの詳細は、セクション8.5.2「InnoDB トランザクション管理の最適化」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.