<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 4 янв. 2024 г. в 22:21, <<a href="mailto:izorkin@gmail.com">izorkin@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-1284765852938947331"> <div><p>Добрый вечер, Илья.</p><p><br></p><p>Благодарю за рекомендации!</p><p>По логам для Mastodon запросы идут в основном по протоколу HTTP/1.1, а по HTTP/2 протоколу</p><p>раз в 10 меньше, если сравнить сегодняшний лог.</p><p> </p><p>Для Mastodon сейчас пытаюсь разобраться и оптимизировать конфигурацию для него:</p><p><a href="https://github.com/mastodon/mastodon/pull/19644" target="_blank">https://github.com/mastodon/mastodon/pull/19644</a></p><p> </p><p>Вполне возможно, что мог что-то упустить :)</p><p> </p><p>Вы писали 4 января 2024 г., 23:25:28:</p><p></p><p></p><p> </p><blockquote class="m_-1284765852938947331rt"><div dir="ltr"><div dir="ltr"></div><div class="gmail_quote"><div></div><div>как можно поступить в данном случае.</div><div><br></div><div>Mastodon - судя по описанию</div><div><br></div><div>1) written using ruby</div><div>2) туда ходят браузеры</div><div><br></div><div>из первого я бы предположил, что в конфиге есть proxy_pass (или аналог), а значит нагрузка будет не sendfile-овая</div><div>из второго - в общих чертах, если есть браузеры, то примерно в 100% ответ "да" для http/2 и http/3</div><div><br></div><div>http2 и http/3 делают для браузера более кайфово. ценой некоторого доп расхода цпу. браузер себя лимитирует 2-мя tcp</div><div>сессиями, в рамках http/1.1 браузер может скачивать одновременно 2 объекта. современная верстка предполагает несколько десятков css, js, png файлов,</div><div>в http/2 есть мультиплексирование запросов внутри одной сессии, за счет чего браузер может одновременно качать все файлы, не дожидаясь каждого отдельно.<div dir="ltr"><div class="gmail_quote"><div></div></div></div></div></div></div></blockquote><p>Для оптимизации я ещё настроил автоматическое предварительное сжатие статических файлов в brotli и gzip форматы присутствующих в пакетах Mastodon/Peertube в NixOS.</p><p> </p><blockquote class="m_-1284765852938947331rt"><div dir="ltr"><div class="gmail_quote"><div></div><div>еще http/2 более кайфово для браузера сжимает трафик за счет дедупликации хедеров и подобных мелочей (что тоже немного увеличивает расход процессора)<div dir="ltr"><div class="gmail_quote"><div></div><div><br></div><div>если у вас что-то, куда ходит браузер (вы говорите, блог на Mastodon), то вопрос включения или не включения http/2 обычно - насколько браузеру будет кайфовее, а не <br></div><div>насколько вырастет расход процессора.</div></div></div></div></div></div></blockquote><p>Ну до 2-го пункта врядли дойдёт дело. Параметр для0-RTT использую в HTTP/3 протоколе :). Протестировать сайт с </p><p>помощью pagespeed надо как-нибудь протестировать, не забыть.</p><blockquote class="m_-1284765852938947331rt"><div dir="ltr"><div class="gmail_quote"><div><div dir="ltr"><div class="gmail_quote"><div></div><div></div></div></div></div></div></div></blockquote><blockquote class="m_-1284765852938947331rt"><div dir="ltr"><div class="gmail_quote"><div><div dir="ltr"><div class="gmail_quote"><div></div><div>я бы посоветовался с каким-нибудь SEO из вебстудии, но то, что навскидку приходит в голову ...</div><div><br></div><div>1) <a href="https://pagespeed.web.dev/" target="_blank">https://pagespeed.web.dev/</a> (с включенным и выключенным http/2)</div><div>2) сертификаты EC <br></div><div>3) 0-RTT (early data)<br>
</div></div></div>
</div></div></div></blockquote><p></p><p><br></p><p>А вот с разницей в противоположных результатах скорости между виртуальным и физическим сервером надо</p><p>бы как-то разобраться, хотя бы понять почему так происходит :)</p></div></div></blockquote><div><br></div><div>осторожно предположу, что в случае 100% утилизации cpu epoll себя так ведет.</div><div>попробуйте донагрузить процессор чем-то типа "md5sum /dev/zero", чтобы максимально занять ядра, во всех ли случаях профили покажут epoll_wait ?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-1284765852938947331"><div><p> </p><p> </p><div class="m_-1284765852938947331email-signature">-- <br>
С уважением,<br>
Izorkin <a href="mailto:izorkin@gmail.com" target="_blank">mailto:izorkin@gmail.com</a></div></div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="https://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">https://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></blockquote></div></div>