On 30 Oct 2013, at 12:08, Maxim Dounin <[email protected]> wrote: > 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 пакетов (и чем > больше ответ - тем меньше разница). Ну и на всякий случай > напомню, что с тюнингом таких вещей следует быть осторожным, т.к. > подобные действия отражаются на всех в сети. Прежде, чем > ковыряться - лучше как минимум ознакомиться с теоретической > стороной вопроса.
Максим, разве Google не провел исследования, по результатам которых они подняли icwnd до 10 на своих серверах? В последних версиях Linux kernel icwnd уже 10 по умолчанию и может дать обратный эффект только в очень редких случаях на сегодняшний день. TCP fast open в kernel 3.6+ следующей шаг, в который Google вкладывает силы и деньги. > > Вообще, IMHO, в первую очередь имеет смысл смотреть за тем, чтобы > с клиентами обеспечивались постоянные соединения. В nginx'е они > по умолчанию включены, но лишний раз проверить не помешает. В > частности - посмотреть на директиву keepalive_timeout и убедиться, > что там никто не написал 0 в попытке поэкономить соединения. > > -- > Maxim Dounin > http://nginx.org/en/donation.html > > _______________________________________________ > nginx-ru mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
