Назад | Перейти на главную страницу

IIS медленная загрузка файла

У меня интересная проблема - у меня есть собственный сервер IIS 2016, который я использую для размещения веб-сайта, который позволяет пользователям загружать различные файлы - некоторые в текстовом формате, а другие заархивированы вместе. Первоначально веб-сайт возвращал с сервера ошибку 500 при попытке загрузить что-то большее, например ~ 50 МБ. Я погуглил, что IIS требует конфигурации maxAllowedContentLength (изменено по умолчанию на 209715200, ~ 300 МБ) и параметров FastCGI для IDLE, ACTIVITY и REQUEST (изменено на 600), чтобы разрешить загрузку файлов большего размера без превышения предела размера файла. Однако теперь, когда файлы загружаются, скорость загрузки этих больших файлов снизилась до сканирования. Раньше я мог загружать ~ 11 МБ файлов за 8 секунд в локальную сеть, а теперь 50 МБ занимали примерно 2,8 минуты. Я ожидал не линейного увеличения.

Когда я проверяю диспетчер задач в IIS во время загрузки, я вижу на вкладке «Производительность-> Ethernet», что для небольших файлов (например, 11 МБ) значение «получить» остается высоким, например, 24 Мбит / с, но когда я пытаюсь загрузить большой файл , это значение снижается с изначально высокого значения до 2–4 Мбит / с. Такое ощущение, что IIS снижает скорость загрузки.

Мой веб-сайт работает на Django, а передача файлов с помощью метода POST выполняется с помощью вызова Ajax в JS.

Может ли кто-нибудь дать мне какие-либо идеи о некоторых функциях IIS, которые мне нужно настроить, чтобы исправить это?

Была такая же проблема и наткнулся на это. Видимо виноват wfastcgi.py. Файл, по-видимому, был обновлен только на Github, но не на pypi. https://github.com/Microsoft/PTVS/issues/2471

После обновления файла в пакетах моего сайта он у меня работает на нормальной скорости.

Здесь вы можете найти текущий файл: https://github.com/Microsoft/PTVS/blob/master/Python/Product/WFastCgi/wfastcgi.py