<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 04 Nov 2013, at 18:09, Anatoly Mikhailov <<a href="mailto:anatoly@sonru.com">anatoly@sonru.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div><br class="Apple-interchange-newline">On 30 Oct 2013, at 12:08, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Hello!<br><br>On Mon, Oct 28, 2013 at 12:34:33PM -0400, buddha wrote:<br><br><blockquote type="cite">Привет вÑем.<span class="Apple-converted-space"> </span><br>Знаю что Ð²Ð¾Ð¿Ñ€Ð¾Ñ ÑƒÐ¶Ðµ обÑуждалÑÑ - почитал, попробовал - не выходит.<br><br>ЕÑть проблема Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾Ð¹ отдачей Ñтатики. Что Ñто значит:<br><br>Отдача файла(js) ~40kb за 300-400ms<br>на<span class="Apple-converted-space"> </span><a href="http://drive.ru/">drive.ru</a><span class="Apple-converted-space"> </span>или ya 40kb за 70-90ms<br><br>Т.е. разница в разы. и она ощутима.<br><br>ping до Ñервера ~70ms<br>до drive и ya ~ 20-30ms<br><br>отдает Nginx, config:<br><br>location / {<br> sendfile on;<br> access_log off;<br> expires 4M;<br><br> root /var/www/static<br>}<br><br>Ñервер находитÑÑ Ñƒ хетцнера.<br><br>ПодÑкажите как можно приблизить ÑкороÑть отдачи к drive или ya.<br>ЕÑли Ñервер, диÑк(Ñ…Ð¾Ñ‚Ñ iowait 0.01-0.05), то подÑкажите на что его можно<br>заменить<br></blockquote><br>Ð¡ÑƒÐ´Ñ Ð¿Ð¾ цифрам, то, что у Ð²Ð°Ñ Ð¿Ð¾Ð»ÑƒÑ‡Ð°ÐµÑ‚ÑÑ - Ñто в первую очередь<span class="Apple-converted-space"> </span><br>результат большого RTT + работы механизмов Congestion Control<span class="Apple-converted-space"> </span><br>протокола TCP.<br><br>Можно пытатьÑÑ Ð¿Ð¾Ñ…Ð¾Ð´Ð¸Ñ‚ÑŒ в Ñторону тюнинга initial congestion<span class="Apple-converted-space"> </span><br>window size. Ðо, Ñтрого говорÑ, много Ñто вÑÑ‘ равно не даÑÑ‚ -<span class="Apple-converted-space"> </span><br>где-то пару round trip'ов можно ÑÑкономить при иÑпользовании<span class="Apple-converted-space"> </span><br>ÑÐµÐ¹Ñ‡Ð°Ñ ÑƒÑиленно продвигаемого initial cwnd в 10 пакетов (и чем<span class="Apple-converted-space"> </span><br>больше ответ - тем меньше разница). Ðу и на вÑÑкий Ñлучай<span class="Apple-converted-space"> </span><br>напомню, что Ñ Ñ‚ÑŽÐ½Ð¸Ð½Ð³Ð¾Ð¼ таких вещей Ñледует быть оÑторожным, Ñ‚.к. <br>подобные дейÑÑ‚Ð²Ð¸Ñ Ð¾Ñ‚Ñ€Ð°Ð¶Ð°ÑŽÑ‚ÑÑ Ð½Ð° вÑех в Ñети. Прежде, чем<span class="Apple-converted-space"> </span><br>ковырÑтьÑÑ - лучше как минимум ознакомитьÑÑ Ñ Ñ‚ÐµÐ¾Ñ€ÐµÑ‚Ð¸Ñ‡ÐµÑкой<span class="Apple-converted-space"> </span><br>Ñтороной вопроÑа.<br></div></blockquote><div><br></div><div>МакÑим, разве Google не провел иÑÑледованиÑ, по результатам</div><div>которых они поднÑли icwnd до 10 на Ñвоих Ñерверах?</div><div><br></div><div>Ð’ поÑледних верÑиÑÑ… Linux kernel icwnd уже 10 по умолчанию</div><div>и может дать обратный Ñффект только в очень редких ÑлучаÑÑ…</div><div>на ÑегоднÑшний день.</div><div><br></div><div>TCP fast open в kernel 3.6+ Ñледующей шаг, в который Google </div><div>вкладывает Ñилы и деньги. </div></div></blockquote><div><br></div><div><div>ÐаÑколько мне извеÑтно, TCP Congestion window имеет ÑмыÑл</div><div>при ÑоглаÑовании окон Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»Ñ Ð¸ отправителÑ. ICWND 2/3 были</div><div>уÑтановлены по умолчанию много лет назад во времена dial-up.</div><div>TCP Slow Start обÑзательно иметь включенным, но start after idle </div><div>нет ÑмыÑла оÑтавлÑть 1 Ñек, как и размер окна 2/3.</div><div><br></div></div><div>Мы уделÑли большое внимание оптимизации TCP/IP ÑÑ‚Ñка, результаты</div><div>ниже. Ð’ течение длительного времени Ñ Ð½Ðµ заметил побочных Ñффектов,</div><div>возможно они и еÑть. Ваше мнение?</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.ipv4.tcp_slow_start_after_idle = 0</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.ipv4.tcp_sack = 0</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.ipv4.tcp_timestamps = 0</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.core.wmem_max = 256960</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.core.rmem_max = 256960</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.core.wmem_default = 256960</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.core.rmem_default = 256960</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.ipv4.tcp_wmem = 4096<span class="Apple-tab-span" style="white-space:pre"> </span>87380<span class="Apple-tab-span" style="white-space:pre"> </span>16777216</div><div><span class="Apple-tab-span" style="white-space:pre"> </span>net.ipv4.tcp_rmem = 4096<span class="Apple-tab-span" style="white-space:pre"> </span>87380<span class="Apple-tab-span" style="white-space:pre"> </span>16777216</div></div><div><br></div><br><blockquote type="cite"><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>Вообще, IMHO, в первую очередь имеет ÑмыÑл Ñмотреть за тем, чтобы<span class="Apple-converted-space"> </span><br>Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð¼Ð¸ обеÑпечивалиÑÑŒ поÑтоÑнные ÑоединениÑ. Ð’ nginx'е они<span class="Apple-converted-space"> </span><br>по умолчанию включены, но лишний раз проверить не помешает. Ð’<span class="Apple-converted-space"> </span><br>чаÑтноÑти - поÑмотреть на директиву keepalive_timeout и убедитьÑÑ,<span class="Apple-converted-space"> </span><br>что там никто не напиÑал 0 в попытке поÑкономить ÑоединениÑ.<br><br>--<span class="Apple-converted-space"> </span><br>Maxim Dounin<br><a href="http://nginx.org/en/donation.html">http://nginx.org/en/donation.html</a><br><br>_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></blockquote></div><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">_______________________________________________</span><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;">nginx-ru mailing list</span><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="mailto:nginx-ru@nginx.org" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">nginx-ru@nginx.org</a><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></blockquote></div><br></body></html>