У меня есть интересная проблема - у меня есть собственный сервер IIS 2016, который я использую для размещения веб-сайта, который позволяет пользователям загружать различные файлы - некоторые в текстовом формате, а другие - в виде архива вместе.Первоначально веб-сайт возвращал ошибку 500 с сервера при попытке загрузить что-то большее, например, ~ 50 МБ.Я гуглил, что IIS требует настройки maxAllowedContentLength (изменено по умолчанию на 209715200, ~ 300 МБ) и параметров FastCGI для IDLE, ACTIVITY и REQUEST (изменено на 600), чтобы разрешить загрузку файлов большего размера без ограничения размера файла.Однако теперь, когда файлы загружаются, скорость загрузки для этих больших файлов замедлилась до сканирования.Раньше я мог загружать ~ 20 МБ файлов за 10 секунд в локальной сети, в то время как сейчас 50 МБ занимает около 160 секунд.Не линейное увеличение, которое я ожидаю.
Мой сайт работает на Django, а передача файлов моего метода POST осуществляется с помощью вызова Ajax в JS:
$('#sn').on('submit', function(event) {
event.preventDefault();
var post_data = new FormData($("#sn")[0]);
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
var percent = Math.round(evt.loaded/evt.total * 100)
console.log(percent)
$('#query_button').attr('disabled', true)
$('#query_button').get(0).innerText = "Upload status: " + percent + '%'
}, false);
xhr.upload.addEventListener("load", function(evt) {
$('#query_button').get(0).innerText = "PLEASE WAIT..."
}, false);
return xhr;
},
url: '#',
type: "POST",
data: post_data,
processData: false,
contentType: false,
dataType: "json",
statusCode: {
200: function() {
// alert("Server received request and posted a response!");
},
404: function() {
alert("Error code 404: Page not found!");
},
408: function() {
alert("Error code 408: Request Timeout!");
},
500: function() {
alert("Error code 500: Internal server error!");
}
},
success: function(response) {
console.log(response)
}
});
})
Может кто-нибудь сказать, пожалуйста,если вызов Ajax может быть причиной этого замедления в скорости загрузки, или если это что-то еще, что нужно настроить в IIS?