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