Непонятная задержка после отправки файла методом POST

I1
На сайте с 01.08.2016
Offline
7
1057

Здравствуйте! Пишу сюда т.к вопрос нестандартный для раздела "Хостинг" и думаю без админов серверов здесь не обойтись.

Ситуация: есть виртуальный хостинг, есть форма загрузки сайтов (простейшая из стандартных примеров на html+php). Я загружаю файл размером 10 Мб. Файл отдается быстро (секунд за 5), в Chrome внизу доходит до 100% + по статистике сетевого подключения вижу, что отдано 10 Мб + через расширение HttpFox для Firefox вижу, что методом POST отправлено 10 Мб.

Короче уверен, что файл с моего ПК полностью передан на сервер. Затем в браузере пишет Ожидание... и я жду секунд 14 пока выполнится PHP-код (просто уведомление об успешной загрузке). С файлом 20 Мб приходится ждать около 50 секунд. При 30 Мб ожидание затягивается до 2 минут. Для моих задач нужен быстрый upload файлов именно через веб-форму.

Сразу скажу: проверял на многих браузерах, нескольких ПК и нескольких провайдерах (два из моего города и один из другого). Везде эта странная задержка. На других хостингах (проверял 5 штук) такой проблемы нет: после 100% загрузки практически сразу (1-2 секунды) выполняется php.

Самый простой вариант конечно плюнуть и уйти, но этот баг так ломает мне голову:madd:, что хочу узнать причину. Да и хостинг в остальном устраивает.

Техподдержка уже больше недели пытается помочь, но так и не смогли повторить проблему. Уверяют, что проверяли неоднократно с разных локаций и с их стороны задержки нет. Все серверы размещены в одном ЦОД и конфиг одинаковый. Я им верю, врать незачем, но это еще больше запутывает. Давали доступ к другим своим серверам, на некоторых из них задержка почти отсутствует, но сама скорость upload файла в 2-3 раза ниже (тоже загадка почему так отличается), пришлось отказаться от переноса аккаунта. Один раз заказал тестовый VPS, там все было отлично, но к сожалению виртуального хостинга на том сервере нет.

На одном старом хостинге была такая же проблема, поддержка ответила, что ошибка заключалась в директиве proxy_bind сервера nginx и при передаче информации от Apache вместо локального IP использовался IP клиента. После их исправления все нормализовалось. Но я об этом писал поддержке текущего хостера, говорят все у них правильно.

Может кто подскажет в чем еще может быть причина? Как можно еще провести диагностику? Что такого длительного может происходить между передачей файла на сервер и вызовом PHP-обработчика? Ну не может же быть виноват провайдер (причем не один)? Через него же я всего-навсегда успешно отправляю файл, а дальше задержка возникает на стороне хостинга?

Понимаю, что на виртуальном хостинге я многое не смогу проверить и поменять, но возможно получится уговорить поддержку проверить какие-то моменты, если не пошлют.

Mik Foxi
На сайте с 02.03.2011
Offline
1076
#1

Файл сначало пишется на диск в папку типа tmp, потом его надо скопировать в директорию сайта. Может на хостинге диск тормозит.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
Andreyka
На сайте с 19.02.2005
Offline
822
#2

Создайте у себя на компе в виртуалке хостинг, ограничьте там скорость сети и протестируйте

Не стоит плодить сущности без необходимости
I1
На сайте с 01.08.2016
Offline
7
#3
foxi:
Файл сначало пишется на диск в папку типа tmp, потом его надо скопировать в директорию сайта. Может на хостинге диск тормозит.

Вариант неплохой, если только поддержка хостинга наблюдала бы такую же задержку. Она же должна быть в любом случае, если диски так сильно тормозили бы?

Andreyka:
Создайте у себя на компе в виртуалке хостинг, ограничьте там скорость сети и протестируйте

Сделал, задержки нет. Правда не ставил nginx, но ведь на других хостингах как я писал проблемы нет. Только с одним единственным хостером.

AGHost
На сайте с 16.11.2011
Offline
115
#4

invert1, лимит на дисковые операции ввода-вывода в тарифном плане есть?

---------- Добавлено 09.08.2016 в 12:29 ----------

invert1:
Техподдержка уже больше недели пытается помочь, но так и не смогли повторить проблему. Уверяют, что проверяли неоднократно с разных локаций и с их стороны задержки нет

Проверяли загрузку где-то у себя или на Ваш сайт?

8 лет на рынке услуг хостинга - https://agho.st (https://agho.st)
I1
На сайте с 01.08.2016
Offline
7
#5
AGHost:
invert1, лимит на дисковые операции ввода-вывода в тарифном плане есть?

Нету.

AGHost:
Проверяли загрузку где-то у себя или на Ваш сайт?

Проверяли как раз на мой сайт, я отправлял им ссылку на форму.

Все, проблема внезапно решилась! Оказалось было дело в модуле modsec. Как понял одна из его функций сканирование всех загружаемых файлы методом POST. Добавили мой аккаунт в белый список и теперь никакой задержки.

На некоторых тестовых серверах этого хостера задержки не было т.к не был установлен nginx. Но без него сама скорость upload заметно ниже.

А для хостера modsec не был активен (что-то вроде белого списка). Хотя они и писали, что проверяли с разных районов и даже другой точки страны, но только сегодня смогли воспроизвести баг и устранить его.

Прошу простить за создание темы: казалось, что уже нет надежды :) Если можно попрошу Модераторов не удалять ее, может другим пригодится.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий