とりあえず、4点。
このうちの1と3はCGEのみ?
1.Data Nodeへのコネクションプーリング
http://johanandersson.blogspot.com/#multiconnect
[mysqld] ... ndb-cluster-connection-pool=10
http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-mysqld-command-options.html
SQL NodeとData Nodeのプーリングを設定する。
通常は1だけど、クライアント数によっては、増やすといいかも。
2.秘密のパラメータと推奨値
まだドキュメント化されていないもの。
英文説明部分は、2005/9にMikaelからもらったメールを引用した。
ndb-force-send=1
5.1のマニュアルに記載なし。
Default set to 1 (4.1) Try setting it to 0This parameter enables an adaptive protocol that waits before actually sending off the messages to the cluster.
This is by default set for optimal performance in systems with small number of connections. Using large number of connections (as you do) it should be beneficial to reset this parameter.
ndb-use-exact-count=0
5.1のマニュアルに記載なし。
4.1の時は、このパラメータを0にすることで、最も性能が向上した。
Default set to 1 (4.1) Try setting it to 0When this is set it gives exact counts of number of records in a table during query planning. This can be beneficial for queries executing for a long time and also for fast execution of SELECT
count(*) from table x. For small primary key lookups (as you test) it is very beneficial to reset this parameter.
engine-condition-pushdown=1
WHERE節での絞り込みを、DataNodeレベルで実行する。
5.1では、デフォルトでオンになっている。
3.同時実行性能/スレッド関連
MySQL-5.1.22-ndb-6.3.4で追加されたオプション。
http://johanandersson.blogspot.com/#realtime
RealtimeScheduler=1 LockExecuteThreadToCPU=[cpuid] LockMaintThreadsToCPU=[cpuid] SchedulerExecutionTimer=80 (ms) SchedulerSpinTimer=400 (ms)
この辺とかをチューニング。
MySQL :: MySQL 5.1 Reference Manual :: 16.4.4.5 Defining Data Nodes
Realtime Performance ParametersThe [ndbd] parameters discussed in this section are used in scheduling and locking of threads to specific CPUs on multiprocessor data node hosts. They were introduced in MySQL 5.1.22-ndb-6.3.4.
*
LockExecuteThreadToCPU
This parameter specifies the ID of the CPU assigned to handle the NDBCluster execution thread.
The value of this parameter is an integer in the range 0 to 65535 (inclusive). The default is 65535.
*LockMaintThreadsToCPU
This parameter specifies the ID of the CPU assigned to handle NDBCluster maintenance threads.
The value of this parameter is an integer in the range 0 to 65535 (inclusive). The default is 65535.
*RealtimeScheduler
Setting this parameter to 1 enables real-time scheduling of NDBCluster threads.
The default is 0 (scheduling disabled).
*SchedulerExecutionTimer
This parameter specifies the time in microseconds for threads to be executed in the scheduler before being sent.
The default is 50 μsec.
*SchedulerSpinTimer
This parameter specifies the time in microseconds for threads to be executed in the scheduler before sleeping.
The default value is 0.
4.ログ関連
http://johanandersson.blogspot.com/2007/05/good-configuration.html
