пт, 12 янв. 2024 г. в 15:16, <izor...@gmail.com>:

> Добрый день, Илья.
>
>
> Этот метод будет работать при много-поточной загрузке, когда запрашивается
>
> сразу несколько разных файлов?
>
>
>
> Запустил тест в 2 потока, (запущен только 1 воркер) в итоге
>
> количество вызовов sendmmsg() увеличилось до 27 (без дополнительного
> патча).
>
>     1361  33.4%  33.4%    1361  33.4% __sendmsg
>
>     1111  27.3%  60.8%    1111  27.3% _aesni_ctr32_ghash_6x
>
>     525  12.9%  73.7%      525  12.9% __libc_pread64
>
>     351  8.6%  82.3%      351  8.6% __memmove_avx_unaligned_erms
>
>       79  1.9%  84.2%      79  1.9% __recvmsg
>
>       38  0.9%  85.2%      239  5.9% ngx_quic_recvmsg
>
>       31  0.8%  85.9%      31  0.8% epoll_wait
>
>       27  0.7%  86.6%      27  0.7% __sendmmsg
>
>
>
> А вот с протоколом HTTP/1.1 такой трюк не сработал - второй запрос на
>
> скачивание ожидал завершение первого запроса. Не обращал раньше внимания
>
> на эту особенность. При 2-х воркерах тест в 2 потока сработал :)
>

а попробуйте изменить условие на 2 пакета

        if (bytes > len * 3) {
            /* require at least ~3 full packets to batch */
            return 1;
        }


>
>
> Вы писали 12 января 2024 г., 14:59:25:
>
>
>
> Это ожидаемо, если накапливается 1 пакет, его дорого отправлять через
> sendmmsg. Собственно, смысл проверки был в том, чтобы проверить,
> действительно ли пакеты (в вашем случае) не успевают накапливаться
>
>
>
> --
> С уважением,
>  Izorkin                          mailto:izor...@gmail.com
> <izor...@gmail.com>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить