API Django для загрузки занимает много времени для загрузки файлов

Я работаю над django rest api для загрузки 3 файлов и сохранения их на диск. Файлы имеют размер [file.svo, file.db3 and file.yaml]. Код ниже работает хорошо и быстро, когда я тестирую его локально. Однако, когда я помещаю его на сервер, загрузка файлов занимает очень много времени. Когда я закомментировал загрузку и сохранил часть file.svo из кода, загрузка проходит очень быстро. Размер файла svo варьируется от 70mb до 500mb, .db3 файлы 10mb или меньше. yaml файл будет меньше 1mb

# in built libraries
import os
from time import sleep
from pathlib import Path
# external libraries
import requests
from django.http import JsonResponse
from rest_framework.views import APIView
from django.core.files.storage import FileSystemStorage
# environment variables
from keys import USER_DIR #this is a directory


class SaveRosBag(APIView):

    def post(self, request, *args, **kwargs):
        # integer_key & timestamp       
        integer_key = self.kwargs['integer_key']
        timestamp = self.kwargs['timestamp']

        # required files
        if "db3_file" in request.FILES:
            db3_file = self.request.FILES["db3_file"]
        else:
            return JsonResponse({"error":"KeyError [db3_file]"})
        if "yaml_file" in request.FILES:
            yaml_file = self.request.FILES["yaml_file"]
        else:
            return JsonResponse({"error":"KeyError [yaml_file]"})
        if "svo_file" in request.FILES:
            svo_file = self.request.FILES["svo_file"]
        else:
            return JsonResponse({"error":"KeyError [svo_file]"})
        
        # make directory if it doesn't exit
        Path(os.path.join(USER_DIR,
            str(integer_key),
            str(timestamp),
            'chdir')
        ).mkdir(parents=True,exist_ok=True)
        
        # define paths
        svo_folder = os.path.join(USER_DIR,str(integer_key),str(timestamp))
        yaml_db3_folder = os.path.join(ride_folder,'chdir')

        # saving rosbag
        save_db3 = FileSystemStorage(location=yaml_db3_folder)
        save_db3.save(db3_file.name, db3_file)
        # saving metadata
        save_yaml = FileSystemStorage(location=yaml_db3_folder)
        save_yaml.save(yaml_file.name, yaml_file)
        # saving zed_svo
        save_svo = FileSystemStorage(location=svo_folder)
        save_svo.save(svo_file.name, svo_file)

        return JsonResponse({"message":"uploaded and saved successful"})

В чем может быть проблема и как я могу ее решить. Пожалуйста, помогите.

Вернуться на верх