Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Медленная отдача статики
Hello!
On Mon, Oct 28, 2013 at 12:34:33PM -0400, buddha wrote:
> Привет всем.
> Знаю что вопрос уже обсуждался - почитал, попробовал - не выходит.
>
> Есть проблема с медленной отдачей статики. Что это значит:
>
> Отдача файла(js) ~40kb за 300-400ms
> на drive.ru или ya 40kb за 70-90ms
>
> Т.е. разница в разы. и она ощутима.
>
> ping до сервера ~70ms
> до drive и ya ~ 20-30ms
>
> отдает Nginx, config:
>
> location / {
> sendfile on;
> access_log off;
> expires 4M;
>
> root /var/www/static
> }
>
> сервер находится у хетцнера.
>
> Подскажите как можно приблизить скорость отдачи к drive или ya.
> Если сервер, диск(хотя iowait 0.01-0.05), то подскажите на что его можно
> заменить
Судя по цифрам, то, что у вас получается - это в первую очередь
результат большого RTT + работы механизмов Congestion Control
протокола TCP.
Можно пытаться походить в сторону тюнинга initial congestion
window size. Но, строго говоря, много это всё равно не даст -
где-то пару round trip'ов можно сэкономить при использовании
сейчас усиленно продвигаемого initial cwnd в 10 пакетов (и чем
больше ответ - тем меньше разница). Ну и на всякий случай
напомню, что с тюнингом таких вещей следует быть осторожным, т.к.
подобные действия отражаются на всех в сети. Прежде, чем
ковыряться - лучше как минимум ознакомиться с теоретической
стороной вопроса.
Вообще, IMHO, в первую очередь имеет смысл смотреть за тем, чтобы
с клиентами обеспечивались постоянные соединения. В nginx'е они
по умолчанию включены, но лишний раз проверить не помешает. В
частности - посмотреть на директиву keepalive_timeout и убедиться,
что там никто не написал 0 в попытке поэкономить соединения.
--
Maxim Dounin
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|