LCP

出典: MySQL Practice Wiki

LCP - Locak Check Pointとは、MySQL Clusterが利用するチェックポイント処理の一つである。LCPはDataMemoryの完全なスナップショットであると考えれば良い。TimeBetweenLocakCheckpointsで定められた量の更新があると、LCPが開始される。TimeBetweenLocakCheckpointsは名前とな似て非なるもので、LCPの間隔ではなくデータ容量を指している。しかもデータ容量は単純にバイト数ではなく、2の累乗として表される。しかも単位は4バイトワードである。TimeBetweenLocakCheckpointsのデフォルトは20であるが、この場合は 4 × 220 = 4MB の更新があるとLCPが開始されるという意味である。つまり、全く更新がない場合はLCPは開始されない。TimeBetweenLocakCheckpointsを6以下に設定すると、連続的にLCPが実行されるようになる。

LCPはDataMemoryの完全なスナップショットであり、MySQL Cluster 6.2までは3世代分、6.3以降は2世代分のLCPが保存される。従って、6.2以前のバージョンではDataMemory × 3、6.3以降のバージョンではDataMemory × 2だけの空きディスク容量を確保する必要がある。また、6.3ではCompressedLCPオプションが追加されたので、このオプションを利用すれば必要ディスク容量を減らすことができる。

DataMemoryが大きくなるとLCPは非常に時間が掛かってしまう。この問題を緩和するには、高速なディスクを利用してLCPを速くするしかない。その際、DiskCheckpointSpeedオプションを調整するのを忘れないようにしよう。DiskCheckpointSpeedはLCPの速度を決定するためのオプションである。デフォルトは10MB/sec。

個人用ツール