<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 4 Ñнв. 2024 г. в 17:04, <<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-3541219320041534113"> <div><p>Добрый вечер, ИльÑ.</p><p> </p><p>Замерил теÑÑ‚Ñ‹ на физичеÑком Ñервере, пока без без поддержки kTLS.</p><p>ОказываетÑÑ Ð² теÑтах на виртуальной машине Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ интерпретировал интерпретировал ÑкороÑти,</p><p>которые выводила утилита curl. ВмеÑто МБит/Ñек там идёт МБайт/Ñек.</p><p> </p><p>Результаты теÑтов при Ñкачивании файла Ñ Ñамого Ñервера:</p><p> - HTTP/1.1 - ~3 504,14 МБит/Ñек (CPU load 100%)</p><p> - HTTP/2 - ~3 568,57 МБит/Ñек (CPU load 100%)</p><p> - HTTP/3 - ~2 872,09 МБит/Ñек (CPU load 58-62%)</p><p> </p><p>Результаты теÑтов при Ñкачивании файла по локальной Ñети:</p><p> - HTTP/1.1 - ~2 325,03 МБит/Ñек (CPU load 45-50%)</p><p> - HTTP/2 - ~2 333,56 МБит/Ñек (CPU load 45-50%)</p><p> - HTTP/3 - ~1 350,26 МБит/Ñек (CPU load 50-55%)</p><p><br></p><p>Ðнализ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° HTTP/3 при Ñкачивании файла Ñ Ñамого Ñервера:</p><p>  482 27.1% 27.1%   482 27.1% __sendmsg</p><p>  473 26.6% 53.7%   473 26.6% __libc_pread64</p><p>  367 20.6% 74.4%   367 20.6% _aesni_ctr32_ghash_6x</p><p>  151 8.5% 82.8%   151 8.5% __memmove_avx_unaligned_erms</p><p>   58 3.3% 86.1%   58 3.3% epoll_wait</p><p>   31 1.7% 87.9%   31 1.7% __recvmsg</p><p>   10 0.6% 88.4%   93 5.2% ngx_quic_write_buffer</p><p>   8 0.4% 88.9%   100 5.6% ngx_quic_recvmsg</p><p>   7 0.4% 89.3%    7 0.4% __strcmp_avx2</p><p>   7 0.4% 89.7%    7 0.4% ngx_quic_read_buffer</p><p>   6 0.3% 90.0%   115 6.5% ngx_http_charset_body_filter</p><p>   6 0.3% 90.3%   108 6.1% ngx_http_write_filter</p><p>   6 0.3% 90.7%   82 4.6% ngx_quic_create_frame</p><p>   6 0.3% 91.0%    8 0.4% ossl_gcm_set_ctx_params</p><p>   5 0.3% 91.3%   19 1.1% EVP_CIPHER_CTX_ctrl</p><p>   5 0.3% 91.6%    5 0.3% aesni_ctr32_encrypt_blocks</p><p>   5 0.3% 91.8%    5 0.3% ngx_quic_alloc_buf</p><p>   5 0.3% 92.1%   15 0.8% ngx_quic_handle_ack_frame_range</p><p>   5 0.3% 92.4%   59 3.3% ngx_quic_handle_datagram</p><p>   4 0.2% 92.6%   10 0.6% CRYPTO_gcm128_encrypt_ctr32</p></div></div></blockquote><div><br></div><div><br></div><div>не ÑовÑем понÑтно, что означают Ñти проценты.</div><div>например " 482 27.1% 27.1%   482 27.1% __sendmsg" - что в первом и что во втором Ñтолбце<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-3541219320041534113"><div><p> </p><p>Ðнализ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ð° HTTP/3 при Ñкачивании файла по локальной Ñети:</p><p>  953 33.5% 33.5%   953 33.5% __sendmsg</p><p>  516 18.1% 51.6%   516 18.1% __libc_pread64</p><p>  388 13.6% 65.2%   388 13.6% _aesni_ctr32_ghash_6x</p><p>  128 4.5% 69.7%   128 4.5% __memmove_avx_unaligned_erms</p><p>  128 4.5% 74.2%   128 4.5% epoll_wait</p><p>  101 3.5% 77.7%   101 3.5% __recvmsg</p><p>   24 0.8% 78.6%   306 10.7% ngx_quic_recvmsg</p><p>   21 0.7% 79.3%   21 0.7% __strcmp_avx2</p><p>   20 0.7% 80.0%   76 2.7% ngx_quic_create_frame</p><p>   19 0.7% 80.7%   122 4.3% ngx_http_write_filter</p><p>   18 0.6% 81.3%   18 0.6% aesni_encrypt</p><p>   15 0.5% 81.8%   413 14.5% aesni_gcm_encrypt</p><p>   14 0.5% 82.3%   56 2.0% EVP_CIPHER_CTX_ctrl</p><p>   14 0.5% 82.8%  1690 59.3% ngx_quic_output</p><p>   13 0.5% 83.3%   23 0.8% ossl_gcm_set_ctx_params</p><p>   12 0.4% 83.7%   13 0.5% aesni_ctr32_encrypt_blocks</p><p>   12 0.4% 84.1%   627 22.0% ngx_quic_crypto_common</p><p>   12 0.4% 84.6%   16 0.6% ngx_quic_read_buffer</p><p>   11 0.4% 84.9%   678 23.8% ngx_output_chain</p><p>   11 0.4% 85.3%   695 24.4% ngx_quic_output_packet</p><p> </p><p>По итогу результаты значительно отличаютÑÑ Ð¾Ñ‚ теÑтов на виртуальной машине. Ðа виртуальной машине при обработке</p><p>протокола QUIC процеÑÑ ÑƒÐ¿Ð¸Ñ€Ð°Ð»ÑÑ Ð² 100% и выдавал ÑкороÑÑ‚ÑŒ больше, чем при обработке протокола HTTP 1.1, а на</p><p>реальном физичеÑком меÑте держитÑÑ Ð² районе 60%, и проÑадка ÑкороÑти значительнаÑ.</p><p>Может быть где-то быть узкое меÑто в обработке QUIC, из-за которого проÑвлÑетÑÑ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¸Ð·ÐºÐ°Ñ ÑкороÑÑ‚ÑŒ?</p></div></div></blockquote><div><br></div><div>Ñмотрите. Ñ Ð¿Ñ€ÐµÐ´Ð»Ð°Ð³Ð°Ð» потеÑтировать quictls-1.1.1, вы проигнорировали.</div><div>более того, вы ÑнÑли профиль Ð´Ð»Ñ http/1.1 - там видно, что иÑпользууетÑÑ sendfile, Ð´Ð»Ñ http/3 иÑпользуютÑÑ ÑовÑем другие функции</div><div><br></div><div>Ñ‚.е. вы буквально видите, что механизмы отдачи Ð´Ð»Ñ http/1.1 и http/3 разные.</div><div><br></div><div>возможно, что в Ñтом различии заключаетÑÑ Ñ‚Ð¾ Ñамое узкое меÑто, про которое вы говорите.</div><div><br></div><div>вы ожидаете прÑмого ответа "да, там где-то еÑÑ‚ÑŒ узкое меÑто".</div><div>ок, вы его уÑлышали. на Ñтом иÑÑледование закончено )) ?<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-3541219320041534113"><div><p> </p><p> </p><p>Ð’Ñ‹ пиÑали 4 ÑÐ½Ð²Ð°Ñ€Ñ 2024 г., 15:40:06:</p><p><br></p><p></p><blockquote class="m_-3541219320041534113rt"><div dir="ltr"><div>на вашей виртуальной машине производительноÑÑ‚ÑŒ уперлаÑÑŒ в оÑобенноÑти реализации QUIC, вы проÑто выгребли 100% процеÑÑора.</div><div>Ñкажем, вы замерÑли "Ñколько можно получить байт в Ñек на данном цпу Ð´Ð»Ñ Ñ€Ð°Ð·Ð½Ñ‹Ñ… реализаций"</div><div><br></div><div>в QUIC Interop теÑÑ‚Ñ‹ веÑьма и веÑьма реÑурÑоемкие, там кроме передачи шифрованного трафика еще дешифруетÑÑ Ñ‚Ñ€Ð°Ñ„Ð¸Ðº, захваченный через tshark.</div><div>в теÑтах, где меньше, чем 9700 - уперлиÑÑŒ в оÑобенноÑти реализации, а 9700 - Ñто выглÑдит как потолок Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ железа<br></div><div><br></div><div>чем замечательны http/2 и http/3 - Ñто протоколы и реализации очень качеÑтвенно покрытые теÑтами, что-то Ñовершенно невообразимое Ð´Ð»Ñ http/1.1<br>
</div></div>
</blockquote><p></p><p><br></p><div class="m_-3541219320041534113email-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>