3.1 ディスクI/Oサブシステム

ディスクサブシステムは最も一般的なボトルネックです。I/Oは長いキューに対して比較的長い時間がかかり、ディスクの高使用率やCPUサイクルのアイドリングにつながります。予想されるピーク負荷時にiostatツールを使用し、平均応答時間の指標を測定してください。

ディスクの読み込み、書き込みおよび更新操作は連続的であるか、またはランダムです。ランダムな読み込みおよび更新は、eDirectoryの展開のなかで最も一般的なアクセスパターンです。

ランダムワークロードに対するソリューション:

eDirectoryが作成するファイルは4GBまで増大することがあります。大きなファイルに対処できるよう最適化されたファイルシステムは、eDirectoryと効率的に連携できます。

FLAIMは、4KBおよび8KBのブロックサイズをサポートしています。デフォルトは4KBです。これはLinuxでのデフォルトのブロックサイズと同じです(tune2fs -1 device)。Solarisでは、UFSファイルシステムは8KBのデフォルトブロックサイズで生成されます(df -g mountpoint)。FLAIMのブロックサイズがファイルシステムのブロックサイズよりも小さい場合、ブロックへの部分的な書き込みが発生することがあります。データベースのブロックサイズがファイルシステムのブロックサイズよりも大きい場合、各ブロックの読み込みおよび書き込みは、連続した別個の物理的I/O操作に分割されてしまいます。そのため、FLAIMのブロックサイズは必ずファイルシステムのブロックサイズと同じにするべきです。

ブロックサイズは、DIBの作成時にのみ調整することができます。「blocksize=8192」という行を_ndsdb.iniに追加し、8KのブロックサイズでDIBを作成してください。

適切なブロックサイズは、展開でのFLAIMレコードの平均サイズによって決まります。展開に適切なブロックサイズを判断するために、テストデータの適切な集合に対する実験的テストが必要です。