tencent cloud

TencentDB for MySQL

CATSトランザクションスケジューリング

PDF
Focus Mode
Font Size
Last updated: 2024-07-25 16:20:38

機能の説明

TXSQLに新たな並列トランザクションスケジューリングアルゴリズム(Contention-Aware Transaction Scheduling,CATS)を追加し、直接ロック競合を自動的に感知して、トランザクションの優先順位に基づいてトランザクションをスケジューリングし実行できるようになりました。 MySQLの従来の並列トランザクションはFIFO(First-In-First-Out)ルールによってトランザクションの実行順を決定します。一方CATSトランザクションスケジューリングアルゴリズムの主な原理は、トランザクションのロック保持状況に基づいて並列トランザクションの競合状況を判断するとともに、トランザクション実行の優先順位を決定し、その後優先順位に従ってトランザクションの実行順を割り振ることで、システムのトランザクション処理のスループットを向上させるものです。

サポートするバージョン

カーネルバージョン MySQL 5.7 20190230およびそれ以降
カーネルバージョン MySQL 8.0 20200630およびそれ以降

ユースケース

主に並列性が高く、かつロック競合が比較的著しいケースに適します。

パフォーマンスデータ

並列性が高く、ロック競合が著しいケースで、TPSパフォーマンスが50%以上向上しました。
テスト方法:sysbench-oltp_read_writeシーン(分離レベルRR、テーブル数8、10MBデータ、paretoランダム化方式)
テスト環境:32コア128GBオンラインインスタンス
スレッド数
FCFS(FIFO)
CATS
パフォーマンス向上
128
11999
12005
0%
256
6609
10137
53%
512
3453
9365
171%
1024
2196
7015
219%

利用説明

MySQLバージョン5.7では、グローバルパラメータinnodb_trx_schedule_algorithmによってトランザクションスケジューリングのアルゴリズムを指定することができます。このパラメータのデフォルト値はautoです。 このアルゴリズムには次の3種類があります。
auto:自動。現在のシステム状況に基づいて自動的に調整します。ロック待機スレッド数が32を超えるとCATSスケジューリングアルゴリズムを使用し、それ以外の場合はFCFSアルゴリズムを使用します。
fcfs:先着順サービスアルゴリズム。
cats: 競合検知スケジューリングアルゴリズム。
パラメータ名
動的
タイプ
デフォルト
パラメータ値範囲
説明
innodb_trx_schedule_algorithm
yes
string
auto
[auto,fcfs,cats]
トランザクション待機スケジューリングアルゴリズム
説明:
ユーザーは現在、上記パラメータのパラメータ値を直接変更することはできません。変更する場合は、チケットを提出から変更することができます。
MySQL バージョン8.0ではautoアルゴリズムが常に用いられ、設定はできません。

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback