---
schema_version: "1"
id: 878cb69cbe916370106875a93f2bed829b5d89c82b7744d4b37221f1c8e881b1
title: 反復可能ストリームと反復不可能ストリーム
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.8/tuning-repeatable-nonrepeatable.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.8/tuning-repeatable-nonrepeatable
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 5b96a046cca8478144710ccaff244aa18c7d939b708580683161555b79765095
description: MuleSoft Documentation Site
release: "4.8"
latest: false
---
# 反復可能ストリームと反復不可能ストリーム

フローのパフォーマンスを最大限に引き出すには、ストリーミング戦略を理解して、自分のユースケースに最適な戦略を選ぶことが鍵となります。

- 反復不可能ストリーム (ペイロードを 1 回だけ読み取る) または
- 反復可能ストリーム (ペイロードを複数回読み取る)

## [](#反復不可能ストリーム)反復不可能ストリーム

反復不可能戦略は、反復可能ストリームを無効化します。ユースケースでペイロードを 1 回しか読み取る必要がない場合は、コネクタで ​`non-repeatable-stream`​ パラメーターを使用してください。次の例を見てください。

```xml
<file:read path="exampleFile.json">
  <non-repeatable-stream />
</file:read>
```

## [](#反復可能ストリーム)反復可能ストリーム

ユースケースでペイロードを複数回、または並行して読み取る必要がある場合には、以下の戦略のいずれかを選択できます。

- ファイルに格納されたストリーミング
- メモリ内ストリーミング

### [](#ファイルに格納された反復可能ストリーム)ファイルに格納された反復可能ストリーム

ファイルに格納された反復可能ストリーム戦略を使用する場合は、バッファサイズ ​`inMemorySize`​ を自分のユースケースに合わせてカスタマイズすることで、パフォーマンスを最適化します。

- バッファサイズを大きくすると、Mule がバッファをディスクに書き込む回数を減らせます。これによってパフォーマンスが高まりますが、より多くのメモリが必要になるため、アプリケーションが処理できる同時要求数が制限されます。
- バッファサイズを小さくすると、メモリの負荷は低減しますが、応答時間が長くなります。

次の例では、サイズが約 1 MB であるファイル用に、ファイルに格納された反復可能ストリームのバッファサイズを設定しています。

```xml
<file:read path="bigFile.json">
  <repeatable-file-store-stream
    inMemorySize="1"
    bufferUnit="MB"/>
</file:read>
```

ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。

### [](#メモリ内の反復可能ストリーム)メモリ内の反復可能ストリーム

メモリ内の反復可能ストリーム戦略を使用する場合は、ファイルサイズの大小に合わせて以下を設定することでバッファサイズを設定します。

- `initialBufferSize`  
    初期サイズ
- `bufferSizeIncrement`  
    バッファを増やすレート。
- `maxInMemorySize`  
    最大バッファサイズ。
- `bufferUnit`  
    バッファサイズ値の測定単位。

ペイロードのサイズと予想される同時実行数に基づいて、メモリ内のバッファサイズを調整します (デフォルトは 512KB)。

次の例では、メモリ内の反復可能ストリームの初期バッファサイズを 512 KB、拡張単位を 256 KB、そしてメモリに読み込めるコンテンツの最大サイズを 2000 KB (2 MB) に設定しています。

```xml
<file:read path="exampleFile.json">
  <repeatable-in-memory-stream
    initialBufferSize="512"
    bufferSizeIncrement="256"
    maxInMemorySize="2000"
    bufferUnit="KB"/>
</file:read>
```

ユースケースで最適なバッファサイズは、必ずパフォーマンステストを実施して決めてください。

## [](#関連情報)関連情報

- [Mule アプリケーションでのストリーミング](https://docs.mulesoft.com/jp/mule-runtime/4.8/streaming-about)