メモリ内でのダウンロードは、AWS S3 からファイル システムでのダウンロードよりも遅いのはなぜですか? ファイルをダウンロードするときは、通常、AWS S3 バケットからローカル ファイル システムにダウンロードすることを選択します。ただし、メモリ内ダウンロード方法を使用すると、S3 からファイル システムに直接ダウンロードするよりも時間がかかる場合があります。これは、メモリ内でのダウンロードには追加の手順とリソースの消費が必要となるためです。まず、メモリ内ダウンロードでは、ファイルの内容をメモリに読み取り、ファイル システムに書き込む必要があります。このプロセスには追加のメモリ操作と IO 操作が含まれるため、S3 からファイル システムに直接ダウンロードする場合よりもダウンロード速度が遅くなります。さらに、インメモリ ダウンロードもメモリ制限の影響を受ける可能性があり、ダウンロードされるファイルが大きい場合、メモリ不足の問題が発生し、ダウンロード速度に影響を与える可能性があります。したがって、ダウンロード方法を選択するときは、特定の状況に応じて長所と短所を比較検討し、最適なダウンロード方法を選択する必要があります。
あるバケットからのダウンロードにaws gosdkを使用しています。以下はダウンロード用の 2 つの実装です。
null バイトのスライスを使用する代わりに、最初に 100M を割り当ててみてください。
オブジェクトのサイズが不明な場合は、
S3.HeadObject を使用してオブジェクトの長さをリアルタイムで取得できます。
以上がメモリ内でのダウンロードは、AWS s3 からのファイル システムでのダウンロードよりも遅いのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。