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 リファレンスマニュアル  /  ...  /  スレッドプールプラグイン

8.11.6 スレッドプールプラグイン

注記

MySQL スレッドプールは商用拡張機能です。商用製品 (MySQL Enterprise Edition) の詳細については、http://www.mysql.com/products/ を参照してください。

MySQL 5.6.10 現在、MySQL 5.6 の商用配布には、サーバープラグインを使用して実装される MySQL スレッドプールが付属しています。MySQL サーバーのデフォルトのスレッド処理モデルでは、クライアント接続ごとに 1 つのスレッドを使用してステートメントが実行されます。より多くのクライアントがサーバーに接続してステートメントを実行すると、全体的なパフォーマンスが低下します。スレットプールプラグインは、オーバーヘッドを軽減し、パフォーマンスを向上するように設計されている代替のスレッド処理モデルを提供します。このプラグインは、多数のクライアント接続に対してステートメント実行スレッドを効率的に管理することによってサーバーのパフォーマンスを向上させるスレッドプールを実装します。

スレッドプールは、接続モデルあたり 1 つのスレッドのいくつかの問題に対処します。

  • スレッドが多すぎると、高度な並列実行ワークロードで CPU キャッシュがほとんど役に立たなくなります。スレッドプールはスレッドスタックの再利用を促進し、CPU キャッシュのフットプリントを最小にします。

  • 並列で実行しているスレッド数が多すぎると、コンテキストスイッチングのオーバーヘッドが高くなります。これは、オペレーティングシステムスケジューラにも困難なタスクを与えます。スレッドプールは、アクティブスレッドの数を制御して、それが処理可能で、MySQL を実行しているサーバーホストに適切なレベルで MySQL サーバー内の並列性を維持します。

  • 並列で実行するトランザクションが多すぎると、リソースの競合が増加します。InnoDB では、これにより中央の相互排他ロックの保持に費やされる時間が多くなります。スレッドプールは、あまり多く並列で実行しないように、トランザクションが開始するタイミングを制御します。

スレッドプールプラグインは商用機能です。MySQL コミュニティー配布には含まれていません。

Windows では、スレッドプールプラグインに Windows Vista 以降が必要です。Linux では、プラグインにカーネル 2.6.9 以降が必要です。

追加のリソース

セクションA.14「MySQL 5.6 FAQ: MySQL エンタープライズスケーラビリティースレッドプール」


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