3

サーバーからファイルをロードするために akka バックエンドで sttp lib を使用します。次のアプローチのいずれかを使用すると、1Gb ファイルをロードするために大量のメモリ フットプリントが発生します。

import com.softwaremill.sttp._

val file: File = new File(...)

sttp.response(asStream[Source[ByteString, Any]])
.mapResponse { src =>
    src.runWith(FileIO.toPath(file.toPath, options, 0))
}

sttp.response(asFile(file, false))

1Gb ファイルの順次ロードの VisualVM プロット。 ここに画像の説明を入力

データをチャンクに書き込み、書き込み直後にメモリからチャンクを削除する機会はありますか?

4

1 に答える 1