Я сгенерировал пустой файл размером 500 МБ в Windows 10 с помощью файла CMD fsutil file createnew <filename> <length>
и загрузил его на два сервера:
- Выделенный сервер Ubuntu 16.04 LTS с PHP 7.1.3-2+deb.sury.org ~ xenial+1 и Apache/2.4.25. Это совершенно новый, не настроенный сервер.
- Какой-то случайный виртуальный хостинг.
Когда я пытаюсь загрузить его с выделенного сервера, это занимает некоторое время (около 2 минут), но когда я пытаюсь загрузить его с общего хостинга, это происходит мгновенно через 1 секунду.
Итак, я предполагаю, что они включили какое-то сжатие, которое обнаружило, что файл состоит из всех нулей («00000000 ...»), и они могли отправить его за одну секунду.
Как я могу включить этот тип сжатия в моем Apache? mod_deflate
включен в Ubuntu по умолчанию, так что я не верю в это.
Вот пояснение:
- В обоих случаях размер файла в моей папке "Загрузки" составляет 500 МБ. Некоторые люди предполагают, что я загрузил файл размером 0 МБ за 1 секунду: Нет.
- Оба сервера подключены к соединению 1 Гбит / с, и я подключен только к ~ 40 Мбит / с, поэтому, конечно, у меня не будет возможности загрузить 500 МБ за 1 секунду.
- Время загрузки с общего хостинга составляет 1 секунду (возможно, 2). Это происходит мгновенно.
- Когда я загружаю или скачиваю этот файл размером 500 МБ через FTP, в обоих случаях это занимает много времени (2+ минуты). Только через HTTP разница составляет 1 секунду против 2 минут.
Я уверен, что такое поведение есть у более общего хостинга, поэтому, если у кого-то есть доступ к Bluehost, Godaddy и т.д., Он может попробовать это, и я уверен, что они также получат 1-секундную загрузку на 500 МБ пустого файла на некотором общем хорошо настроенные хостинги.