--ndb-optimized-node-selection
提供:MySQL Practice Wiki
| ファイル | my.cnf, my.ini |
| セクション | [mysqld] |
| データ型 | 整数 |
| デフォルト値 | 1 |
| 値の範囲 | 0, 1, 2, 3 |
| 効果 | 記事を参照 |
| 効果の有効範囲 | mysqld/ndbcluster |
| 使用頻度 | 高 |
説明
ndb_optimized_node_selectionオプションは、SQLノードから最も近いデータノードをTCとして選択するためのオプションである。SQLノードと同じホスト内のデータノードが最も近いので、SQLノードとデータノードを同居させるような構成で最も効果を発揮する。また、SCI接続をTCPI接続よりも優先するようになる。特にSQLノードとデータノードが同居している場合にはネットワークの通信を一回分減らせるのでかなりの性能向上が見込まれる。
さらに工夫が見られるのは、ndb_optimized_node_selectionオプションはDistribution Awarenessとも併用できることである。--ndb-optimized-node-selectionオプションは0、1、2、3の値を指定できる。それぞれの値の意味は次の通りである。
- 0: 最適化を行わない。6.2までの挙動と同じで、8回ずつ順番に(ラウンドロビンで)各データノードをTCとして選択する。
- 1: 常に最も近くにあるデータノード(同じホストに存在するものが最も近い)をTCとして選択する。
- 2: Distribution Awarenessを優先的に利用する。ただし、範囲検索などDistribution Awarenessを利用できない場合には、0と同じ動作をする。
- 3: Distribution Awarenessを優先的に利用する。ただし、範囲検索などDistribution Awarenessを利用できない場合には、1と名時動作をする。
つまり、SQLノードとデータノードを同じホストに置いた場合(以下のように)には、よほどの理由がない限り3で決まりである。