<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 5, 2024, 18:46  <<a href="mailto:izorkin@gmail.com">izorkin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">            <div><p>Добрый вечер, Илья.</p><p><br></p><p>Разобрался в чём была проблема - медленная дисковая подсистема. Скопировал тестовый файл в tmpfs, результаты</p><p>стали пропорционально результатам на физическом сервере.</p><p> </p><p>Результаты без поддержки kTLS:</p>
<p>- HTTP/1.1 - ~251 Мбайт/сек (CPU load 100%)</p>
<p>- HTTP/2 - ~207 Мбайт/сек (CPU load 100%)</p>
<p>- HTTP/3 - ~259 Мбайт/сек (CPU load ~90%)</p>
<p><br></p>
<p>Результаты c поддержкой kTLS:</p>
<p>- HTTP/1.1 - ~603 Мбайт/сек (CPU load 100%)</p>
<p>- HTTP/2 - ~171 Мбайт/сек (CPU load 100%)</p>
<p>- HTTP/3 - ~260 Мбайт/сек (CPU load ~90%)</p><p> </p><p>Анализ профиля для протокола HTTP/3 без поддержки kTLS:</p><p>Total: 2406 samples</p><p>     843  35.0%  35.0%      843  35.0% __sendmsg</p><p>     425  17.7%  52.7%      425  17.7% _aesni_ctr32_ghash_6x</p><p>     406  16.9%  69.6%      406  16.9% pthread_cond_signal@@GLIBC_2.3.2</p><p>     296  12.3%  81.9%      296  12.3% epoll_wait</p><p>      91   3.8%  85.7%       91   3.8% __memmove_avx_unaligned_erms</p><p>      55   2.3%  87.9%       55   2.3% __lll_lock_wake</p><p>      29   1.2%  89.2%       29   1.2% __recvmsg</p><p>       9   0.4%  89.5%      527  21.9% ngx_quic_output_packet</p><p>       8   0.3%  89.9%        8   0.3% _init@39000</p><p>       8   0.3%  90.2%       74   3.1% ngx_quic_write_buffer</p><p>       7   0.3%  90.5%      112   4.7% ngx_http_trailers_filter</p><p>       6   0.2%  90.7%       16   0.7% EVP_CIPHER_CTX_ctrl</p><p>...</p><p> </p><p>Анализ профиля для протокола HTTP/3 с поддержкой kTLS:</p><p>Total: 2392 samples</p><p>     834  34.9%  34.9%      836  34.9% __sendmsg</p><p>     457  19.1%  54.0%      457  19.1% pthread_cond_signal@@GLIBC_2.3.2</p><p>     360  15.1%  69.0%      360  15.1% _aesni_ctr32_ghash_6x</p><p>     278  11.6%  80.6%      278  11.6% epoll_wait</p><p>     104   4.3%  85.0%      104   4.3% __memmove_avx_unaligned_erms</p><p>      65   2.7%  87.7%       65   2.7% __lll_lock_wake</p><p>      49   2.0%  89.8%       49   2.0% __recvmsg</p><p>      12   0.5%  90.3%      634  26.5% ngx_output_chain</p><p>       8   0.3%  90.6%        8   0.3% gcm_ghash_avx</p><p>       7   0.3%  90.9%        7   0.3% __strcmp_avx2</p><p>       6   0.3%  91.1%        6   0.3% aesni_encrypt</p><p>       6   0.3%  91.4%        7   0.3% evp_cipher_init_internal</p><p>       6   0.3%  91.6%      398  16.6% gcm_cipher_internal</p><p>       5   0.2%  91.8%        8   0.3% __GI___clock_gettime</p><p>...</p><p> </p><p>Получается, что для HTTP/3 активация kTLS не ускоряет работу (например, если файлы находятся в кэше nginx). Ех...</p><p> </p></div></blockquote></div></div><div dir="auto">С некоторой непонятностью, что именно означают проценты, но выглядит так, что процессор (при выбранном типе нагрузки) нагружается не SSL -ным. Для такой нагрузки даже, если бы kTLS умело в UDP, оно бы не повлияло. epoll_wait оно бы ускорило? Сомневаюсь </div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p> </p><p>Вы писали 5 января 2024 г., 0:37:11:</p><p> </p><blockquote class="m_2186697450106068602rt"><div dir="ltr"><div class="gmail_quote"><div></div><div>осторожно предположу, что в случае 100% утилизации cpu epoll себя так ведет.</div><div>попробуйте донагрузить процессор чем-то типа "md5sum /dev/zero", чтобы максимально занять ядра, во всех ли случаях профили покажут epoll_wait ?<br>
</div></div></div>
</blockquote><p></p><p> </p><p>Инфраструктура Fideverse, в которую входит микро-блог Mastodon работает немного по другому. Это можно представить как большое количество</p><p>почтовых ящиков, которые работают на различном ПО и обмениваются между собой сообщениями. Большинство запросов выполняются по HTTP/1.1</p><p>протоколу.</p><p>Любой желающий может поднять инстанс и ощаться с остальной сетью. Там есть и представители разных ПО :)</p><p> </p><p> </p><p>Вы писали 5 января 2024 г., 0:46:49:</p><p></p><p> </p><blockquote class="m_2186697450106068602rt"><div></div><div>возможно, часть запросов проксируется через инфраструктуру Mastodon, и для вас выглядит как http/1.1</div></blockquote><p>Если так подумать, то смысла выключать скорее всего нет.</p><p> </p><blockquote class="m_2186697450106068602rt"><div></div>риторический вопрос, если к вам 90% трафика приходит как http/1.1, и вы с этим ничего не можете поделать судя по всему, в чем смысл вопроса "включать или на включать http/{2,3}" ?</blockquote><p> </p><p> </p><div class="m_2186697450106068602email-signature">-- <br>
С уважением,<br>
 Izorkin                          <a href="mailto:izorkin@gmail.com" target="_blank" rel="noreferrer">mailto:izorkin@gmail.com</a></div></div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank" rel="noreferrer">nginx-ru@nginx.org</a><br>
<a href="https://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer noreferrer" target="_blank">https://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br>
</blockquote></div></div></div>