すべてのプロダクト
Search
ドキュメントセンター

PolarDB:スレッドプール

最終更新日:Mar 14, 2026

PolarDB for MySQL の最適なパフォーマンスを実現するため、PolarDB ではスレッドプール機能を提供しています。この機能により、スレッドとセッションが分離され、少数のスレッドで多数のアクティブセッションからのタスクを処理できます。

メリット

デフォルトでは、MySQL はセッション排他モードを採用しており、各セッションに対して専用のスレッドが作成されます。多数のセッションが存在すると、リソース競合が激化し、パフォーマンスが低下します。また、過剰なスレッドスケジューリングや頻繁なキャッシュミスも、パフォーマンスを著しく低下させます。

PolarDB のスレッドプールは、異なる種類の SQL ステートメントに対して優先度および同時実行制御のメカニズムを実装しています。接続数を最適なレベルに維持することで、高接続・高同時実行性の条件下でも PolarDB データベースが高パフォーマンスを発揮できるようになります。スレッドプールの主なメリットは以下のとおりです。

  • 多数のスレッドが並行して実行される場合、スレッドプールは自動的に並行スレッド数を適切な範囲に調整し、過剰なスレッドスケジューリングおよび頻繁なキャッシュミスを回避します。

  • 多数のトランザクションが並行して実行される場合、スレッドプールはステートメントおよびトランザクションに異なる優先度を割り当て、それぞれの同時実行数を個別に制御することで、リソース競合を軽減します。

  • 管理用の SQL ステートメントにはより高い優先度が割り当てられるため、新規接続の確立、管理操作、モニタリングなどの処理が、システム負荷が高い状況下でも安定して実行されます。

  • 複雑な SQL ステートメントには低い優先度が割り当てられ、その同時実行数の上限が制限されます。これにより、システムリソースを枯渇させたり、データベース全体のサービス停止を引き起こしたりするリスクを防止します。

スレッドプールの使用方法

スレッドプールには以下のパラメーターが関係します。これらのパラメーターはコンソールから変更可能です。詳細については、「クラスターおよびノードのパラメーターの設定」をご参照ください。

説明

PolarDBコンソールのすべてのクラスターパラメーターには、MySQL 構成ファイルとの互換性のために loose_ というプレフィックスが付いています。PolarDBコンソールでパラメーターを変更するには、loose_ プレフィックスが付いたパラメーターを選択します。

パラメーター名

説明

loose_thread_pool_enabled

スレッドプール機能を有効化するかどうかを指定します。有効な値は以下のとおりです。

  • ON:機能を有効化します。

  • OFF:機能を無効化します。

説明
  • このパラメーターのデフォルト値はバージョンによって異なります。

    • MySQL 5.6:デフォルト値は OFF です。

    • MySQL 5.7MySQL 8.0.1、および MySQL 8.0.2:デフォルト値は ON です。

  • スレッドプール機能の有効化または無効化に際して、クラスターの再起動は不要です。

loose_thread_pool_size

スレッドプール内のスレッドグループ数です。有効範囲は、クラスターのプライマリノードの CPU コア数に依存します。

有効範囲:DBNodeClassCPU ~ DBNodeClassCPU × 10。デフォルト値:DBNodeClassCPU × 2。

説明
  • DBNodeClassCPU は、プライマリノードの CPU コア数(整数)です。

  • MySQL 5.7 の場合、デフォルト値は DBNodeClassCPU です。

例:

  • Cluster Edition クラスターで database engine MySQL 8.0.1 を実行している場合、プライマリノードの構成が 4 コア/8 GB のとき、有効範囲は 4 ~ 40、デフォルト値は 8 です。

  • Multi-master Cluster (Database/Table) クラスターで database engine MySQL 8.0.1 を実行している場合、2 つのプライマリノードそれぞれが 4 コア/8 GB の構成であるとき、有効範囲は 8 ~ 80、デフォルト値は 16 です。

  • Cluster Edition クラスターで database engine MySQL 5.7 を実行している場合、プライマリノードの構成が 4 コア/8 GB のとき、有効範囲は 4 ~ 40、デフォルト値は 4 です。

loose_thread_pool_high_prio_mode

スレッドプール内における高優先度キューの動作モードです。有効な値は以下のとおりです。

  • transactions(デフォルト):アクティブなトランザクション内の SQL ステートメントが高優先度キューに追加されます。その際、thread_pool_high_prio_tickets で指定されたチケット数が付与されます。その後の SQL ステートメントは、チケットが使い果たされるまで高優先度キューに配置されます。

  • statements:すべての SQL ステートメントが高優先度キューに追加されます。

  • none:SQL ステートメントは高優先度キューに追加されません。

説明

適用範囲:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_high_prio_tickets

高優先度キューへの単一エントリに対するチケット数です。

有効範囲:0 ~ 4294967295。デフォルト値:4294967295。

説明

適用範囲:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_idle_timeout

スレッドプール内のアイドルスレッドを解放するまでのタイムアウト期間です。この期間内にリクエストを処理しなかったアイドルスレッドは解放されます。

有効範囲:0 ~ 31536000。デフォルト値:60。単位:秒。

説明

適用範囲:

  • MySQL 5.6

  • MySQL 5.7

loose_thread_pool_oversubscribe

各スレッドグループ内で許可されるアクティブスレッド数です。アクティブスレッドとは、SQL ステートメントを実行中のスレッドを指します。

有効範囲:1 ~ 1000。デフォルト値:20。

loose_thread_pool_stall_limit

スレッドプールが停止状態にあると判断するための時間しきい値です。

スレッドプールが停止状態になると、システムは新しいスレッドを作成して SQL ステートメントの処理を行います。

有効範囲:1 ~ 18446744073709551615。デフォルト値:10。単位:ミリ秒。

説明

MySQL 5.6 の場合、デフォルト値は 30 ミリ秒です。

loose_bypass_thread_pool_ips

スレッドプールによる制約を受けないクライアントの IP アドレスを指定します。これにより、スレッドプールが満杯の状態でも、管理操作用の SQL ステートメントを実行できます。

設定例:

10.69.96.16,10.69.96.17
説明

適用範囲:MySQL 8.0.1(リビジョンバージョン 8.0.1.1.19 以降)。

loose_bypass_thread_pool_check_ignore_proxy

プロキシ経由で接続されたクライアントの IP アドレスを、loose_bypass_thread_pool_ips のチェック対象から除外するかどうかを指定します。有効な値は以下のとおりです。

  • ON(デフォルト):プロキシ経由で接続されたクライアントの場合、IP アドレスが loose_bypass_thread_pool_ips に設定されていても、スレッドプールの制約が適用されます。

  • OFF:プロキシ経由で接続されたクライアントの場合、IP アドレスが loose_bypass_thread_pool_ips に設定されていれば、スレッドプールの制約は適用されません。

説明

適用範囲:MySQL 8.0.1(リビジョンバージョン 8.0.1.1.19 以降)。

loose_thread_pool_high_priority_users

高優先度のデータベースアカウントを指定します。設定後、これらのアカウントからのリクエストは、スレッドプールの高優先度キューに配置され、優先的に処理されます。

設定例:

user1, user2
説明
  • 適用範囲:

    • MySQL 8.0.1(リビジョンバージョン 8.0.1.1.19 以降)。

    • MySQL 8.0.2(リビジョンバージョン 8.0.2.2.12 以降)。

  • このパラメーターは、新規のデータベース接続に対してのみ有効です。

  • 過剰な数の高優先度アカウントを設定しないでください。

loose_thread_pool_mark_ddl_thread_timeout_sec

スレッドプール内の DDL スレッドのタイムアウトしきい値を指定します。この時間を経過すると、DDL スレッドはタイムアウトとしてマークされ、システムは新しいスレッドを作成してリクエストを処理します。

有効範囲:0 ~ 864000。デフォルト値:600。単位:秒。

説明

適用範囲:MySQL 8.0.1(リビジョンバージョン 8.0.1.1.19 以降)。

loose_thread_pool_mark_ddl_thread_timeout_immediately

スレッドプールの負荷が高く、低優先度キューが積み上げられた際に、DDL スレッドを即座にタイムアウトとしてマークするかどうかを指定します。この場合、システムは新しいスレッドを作成してリクエストを処理します。このパラメーターは、大量のバッチ DDL 操作を頻繁に実行するビジネスシナリオに適しています。有効な値は以下のとおりです。

  • ON:機能を有効化します。

  • OFF(デフォルト):機能を無効化します。

説明

適用範囲:MySQL 8.0.1(リビジョンバージョン 8.0.1.1.19 以降)。

スレッドプールのステータスの照会

以下のコマンドを実行して、スレッドプールのステータスを照会できます。

select * from information_schema.THREAD_POOL_STATUS;

以下に、返される結果の例を示します。

mysql> select * from information_schema.THREAD_POOL_STATUS;
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
| ID | THREAD_COUNT | ACTIVE_THREAD_COUNT | WAITING_THREAD_COUNT | DUMP_THREAD_COUNT | SLOW_THREAD_TIMEOUT_COUNT | CONNECTION_COUNT | LOW_QUEUE_COUNT | HIGH_QUEUE_COUNT |
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
|  0 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  1 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  2 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  3 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  4 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  5 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  6 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  7 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  8 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
|  9 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 10 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 11 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 12 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 13 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 14 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 15 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 16 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 17 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 18 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 19 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 20 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 21 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 22 |            2 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 23 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 24 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 25 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 26 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 27 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 28 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 29 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 30 |            2 |                   0 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 31 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 32 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 33 |            2 |                   0 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 34 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 35 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 36 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 37 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 38 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 39 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 40 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 41 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 42 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 43 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 44 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 45 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 46 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 47 |            3 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 48 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 49 |            3 |                   1 |                    0 |                 0 |                         0 |                1 |               0 |                0 |
| 50 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 51 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 52 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 53 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 54 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 55 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 56 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 57 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 58 |            1 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 59 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 60 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 61 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 62 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
| 63 |            2 |                   0 |                    0 |                 0 |                         0 |                0 |               0 |                0 |
+----+--------------+---------------------+----------------------+-------------------+---------------------------+------------------+-----------------+------------------+
64 rows in set (0.00 sec)

各メトリックの説明は以下のとおりです。

パラメーター

説明

ID

スレッドプールの ID です。

THREAD_COUNT

スレッドプール内のスレッド数です。

ACTIVE_THREAD_COUNT

スレッドプール内のアクティブスレッド数です。

WAITING_THREAD_COUNT

スレッドプール内でディスク I/O やトランザクションコミットを待機中のスレッド数です。

DUMP_THREAD_COUNT

スレッドプール内の DUMP クラスの接続保持型接続数です。

SLOW_THREAD_TIMEOUT_COUNT

タイムアウトとしてマークされたスレッドプール内のスレッド数です。

CONNECTION_COUNT

スレッドプール内で確立されたユーザー接続数です。

LOW_QUEUE_COUNT

スレッドプールの低優先度キュー内の待機リクエスト数です。

HIGH_QUEUE_COUNT

スレッドプールの高優先度キュー内の待機リクエスト数です。

Sysbench テスト

以下のグラフは、スレッドプールを有効化した場合と無効化した場合のパフォーマンス比較を示しています。テスト結果より、スレッドプールは高い同時実行性を要求するシナリオにおいて、顕著なパフォーマンス向上を実現することが確認されています。

図 1. インデックスなしでの更新の OLTP テストOLTP无索引更新

図 2. 書き込み専用の OLTP テストOLTP只写

図 3. 読み取り専用の OLTP テストOLTP只读

図 4. 読み取り/書き込みの OLTP テストOLTP读写测试