2016-08-20 2 views
0

Я работаю над загрузчиком async в JavaScript, предназначенным для эффективного отправки файлов с несколькими гигабайтами на наш сервер. Он использует JavaScript FileReader, чтобы нарезать файлы размером 5 МБ за один раз и одновременно отправлять 5 кусков.Оптимизация загрузки: запрос отправлен

Кажется, что горлышко бутылки получает данные на сервер:

enter image description here

Как показано на рисунке выше, она занимает около 2 минут для фрагмента, чтобы получить доступ к серверу. Затем серверу потребовалось всего 3 секунды, чтобы обработать его.

Скорость загрузки около 1 Мбит/с, но я могу загружать в нее 400 МБ-файл (тестовое видео) в несколько раз быстрее, чем использовать эту загрузку.

Вопросы

  • Что именно происходит в течение 2:06 минут во время Request sent?
  • Что можно сделать, чтобы ускорить работу на этом этапе?
    • Я пытался пытался передавать данные в виде необработанных двоичных (FileReader.readAsBinaryString) против base64 закодированного (~ 40% больше полезной нагрузки просто сжав его), без видимых преимуществ в моем сценарии
    • Поскольку я использую AWS/S3, минимальный размер полезной нагрузки должен быть 5МБ

ответ

0

Что именно происходит в течение 2:06 минут во время «Запрос отправлен»?

Соединение уже установлено, поэтому единственное, что происходит, это передача данных на сервер.

Что можно сделать, чтобы ускорить работу на этом этапе?

Я боюсь, что это слишком широкий вопрос для переполнения стека. Изучите эту тему самостоятельно, попробуйте что-нибудь, и если у вас возникнут какие-либо конкретные проблемы, не стесняйтесь спрашивать здесь.

Смежные вопросы