Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule Runtime Engine で DataWeave を介して大きなファイルを処理する場合、どれだけのメモリをいつ使用するかを詳細に調整するためにセットアップできるいくつかの項目があります。
DataWeave は小さいファイルをメモリに保存しますが、設定可能なしきい値を超えると、ディスク領域を使用してメモリ不足にならないようにします。作成されたバッファファイルはデフォルトの一時ディレクトリに配置されます。このファイルを代わりにカスタムディレクトリに保存する場合は、java.io.tmpdir
プロパティを使用してディレクトリを指定できます。
3 種類の DataWeave バッファファイルが生成されます。
dw-buffer-output-${count}.tmp
変換の結果がしきい値の 1572864 バイトよりも大きい場合に、変換の出力を保存するために使用されます。
このしきい値を変更するには、システムプロパティ com.mulesoft.dw.max_memory_allocation
を追加し、新しいしきい値として使用するバイト数をそのプロパティに割り当てます。
Mule Runtime Engine は、値が参照されなくなった、JVM GC によって値が収集された、または Mule イベントの実行が終了した場合に、ファイルを削除します。
dw-buffer-input-${count}.tmp
変換の入力がメモリ内のバッファ (デフォルトでは 1572864 バイト) よりも大きい場合に、変換の入力を保存するために使用されます。
これは dw-buffer-output-${count}.tmp
ファイルと似ていますが、入力データ用です。
dw-buffer-index-${count}.tmp
読み取られている値のインデックス情報を保存するために使用されます。このファイルは、DataWeave がデータにすばやくアクセスするのに役立ちます。Mule Runtime Engine は、変換の実行が終了した場合にファイルを削除します。また、foreach ループなどのストリーミングのユースケースでは、ストリームが終了した場合 (foreach の実行が終了した場合) にファイルを削除します。
システムプロパティ:
システムプロパティはいくつかの方法で定義できます。詳細は、システムプロパティを参照してください。
com.mulesoft.dw.buffersize
このシステムプロパティは、処理された入力および出力を保存するために DataWeave で使用するメモリ内の入力バッファおよび出力バッファのサイズ (バイト単位) を決定します。デフォルトのバッファサイズは 8192 バイト (8 KB) です。
このプロパティは数値 (バイト数での数値) を受け取ります。例: -Dcom.mulesoft.dw.buffersize=8192
。
com.mulesoft.dw.directbuffer.disable
Mule 4.2.2 で導入されたこのオプションは、DataWeave がオフヒープメモリ (デフォルト) またはヒープメモリのどちらを使用するかを制御します。DataWeave は、内部バッファにはオフヒープメモリを使用します。ただし、メモリの搭載量が少ないマシンでは、この設定によって問題が起きる場合があります。
このプロパティは論理値を受け取ります。例: -Dcom.mulesoft.dw.directbuffer.disable=true
。
com.mulesoft.dw.memory_pool_size
Mule 4.3.0 以降、DataWeave バッファでは、定義されたサイズまでプールからのオフヒープメモリが使用され、残りはヒープメモリを使用して割り当てられます。このプロパティはプール内のスロット数を決定します。
デフォルトのスロット数は 60 です。
このプロパティは数値 (プールのスロット数) を受け取ります。例: -Dcom.mulesoft.dw.memory_pool_size=60
。
com.mulesoft.dw.max_memory_allocation
Mule 4.3.0 で導入されたこのプロパティにより、ディスクに切り替える前に使用される最大メモリ量が決まります。ペイロードがこのサイズを超えると、ペイロードは dw-buffer-input-${count}.tmp
および dw-buffer-output-${count}.tmp
の一時ファイルに保存されます。
また、オフヒープメモリのプールの各スロットのサイズ (バイト単位) も決まります。デフォルトのサイズは 1572864 バイト (1.5 MB) です。
com.mulesoft.dw.buffer.memory.monitoring
(実験段階)
Mule 4.3.0 で導入されたこのプロパティを有効にすると、スロットがメモリプールから取得または解放されるたびにメッセージが記録されます。
これは今後のバージョンでは削除されるか、動作が変更される場合があります。
このプロパティは論理値を受け取ります。例: -Dcom.mulesoft.dw.buffer.memory.monitoring=true
。