FastAPI の UploadFile のパフォーマンスは、データ処理の違いにより Flask よりも遅くなる可能性があります。 FastAPI の UploadFile は非同期メソッドを利用しているため、効率的に処理しないとボトルネックが発生する可能性がありますが、Flask は同期メソッドを使用しています。
FastAPI の UploadFile が遅くなる理由は次のとおりです:
FastAPI での効率的なファイル アップロードのベスト プラクティス:
]aiofiles ライブラリを使用した非同期ファイル書き込みを使用して、ノンブロッキング方式でファイルを書き込みます。このアプローチにより、特に大きなファイルのパフォーマンスが向上します。
ファイル全体をメモリにロードしないように、指定したサイズのチャンクでファイルを読み取ることを検討してください。これにより、メモリの問題が防止され、大きなファイルのアップロードのパフォーマンスが向上します。
メイン スレッドのブロックを回避するには、FastAPI の run_in_threadpool() 関数を使用してブロック I/O 操作を実行します。別のスレッド。これにより、ファイル関連のタスクがブロックされずに実行されます。
サーバー上のファイル ストレージが必要ない場合は、リクエスト本文にストリームとして直接アクセスします。 request.stream() を使用してストリームを送信します。この方法により、不必要な I/O オーバーヘッドを発生させることなく効率的なファイル処理が可能になります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3