<html><head>            <style type="text/css" title="rt_noDelete">
    blockquote.rt {
    margin: 0 0 15px;
    border-left: 4px solid #81c784;
    padding: 0 0 0 12px;
    display: block;
    }
    p { margin: 0 0 0 0 }
.email-signature {font-family:"Arial"; font-size: 8pt; font-style: italic; font-weight: normal; text-decoration: none; }
    </style></head><body><p class="norm">Добрый вечер, Илья.</p><p class="norm"><br/></p><p class="norm">Разобрался в чём была проблема - медленная дисковая подсистема. Скопировал тестовый файл в 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><p> </p><p class="norm">Вы писали 5 января 2024 г., 0:37:11:</p><p> </p><blockquote class="rt"><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 class="norm"></p><p class="norm"> </p><p class="norm">Инфраструктура Fideverse, в которую входит микро-блог Mastodon работает немного по другому. Это можно представить как большое количество</p><p>почтовых ящиков, которые работают на различном ПО и обмениваются между собой сообщениями. Большинство запросов выполняются по HTTP/1.1</p><p>протоколу.</p><p class="norm">Любой желающий может поднять инстанс и ощаться с остальной сетью. Там есть и представители разных ПО :)</p><p> </p><p> </p><p class="norm">Вы писали 5 января 2024 г., 0:46:49:</p><p class="norm"></p><p> </p><blockquote class="rt"><div></div><div>возможно, часть запросов проксируется через инфраструктуру Mastodon, и для вас выглядит как http/1.1</div></blockquote><p>Если так подумать, то смысла выключать скорее всего нет.</p><p> </p><blockquote class="rt"><div></div>риторический вопрос, если к вам 90% трафика приходит как http/1.1, и вы с этим ничего не можете поделать судя по всему, в чем смысл вопроса "включать или на включать http/{2,3}" ?</blockquote><p> </p><p> </p><div class="email-signature">-- <br/>
С уважением,<br/>
 Izorkin                          <a class="HR" href="mailto:izorkin@gmail.com">mailto:izorkin@gmail.com</a></div></body>