<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>