Браузер (chrome, firefox) медленно загружает статический файл с nginx, а не с apache2

Я ' m борется с тем фактом, что когда Nginx обслуживает файл размером 1,8 ГБ, когда я помещаю URL-адрес в Chrome или Firefox, загрузка идет со скоростью 5 Мбит / с, когда я делаю это с помощью wget или curl, тот же URL-адрес, тот же клиентский компьютер, загрузка идет с (мой макс.) 25 Мбит / с. Apache, обслуживающий один и тот же файл, идет со скоростью 25 Мбит / с как в браузерах, так и в curl / wget. У меня вопрос: почему?

Это довольно стандартная конфигурация, я помещаю в заголовок либо X-Sendfile (apache2), либо X-Accel-Redirect (Nginx), я пробовал несколько конфигураций с nginx, могу замедлить это вниз с limit_rate, но не вверх. Это часть моей ссылки по умолчанию в / etc / nginx / sites-enabled:

location files/ {
        internal;
        alias /var/www/html/;
        #directio 100m;
        output_buffers 2 512k;
        limit_rate 30000k;
        sendfile_max_chunk 0;

}

Я включил directio, оставил или пропустил другие параметры, включил / выключил sendfile, без разницы.

0
задан 21 September 2017 в 17:42
1 ответ

По-видимому, Apache2 автоматически заполняет заголовки для размера и типа файла, в то время как Nginx, если не указан, использует text / html для типа и без размера.

Итак, добавляем:

header("Content-Type: application/octet-stream");
header("Content-length: {$result[0]->size}");

] Ускорена загрузка в ~ 5 раз, работая с моим макс. пропускная способность.

0
ответ дан 5 December 2019 в 07:26

Теги

Похожие вопросы