Re: nginxQuic: скорость загрузки при активации kTLS
izorkin на gmail.com
izorkin на gmail.com
Чт Янв 11 18:59:53 UTC 2024
Добрый вечер, Илья.
Да, только 9 раз. Сейчас в тестах вообще только 3 раза был вызов. И в debug режиме
чаще используется __libc_write вызов.
6965 69.8% 69.8% 6965 69.8% __libc_write
654 6.6% 76.3% 654 6.6% __sendmsg
357 3.6% 79.9% 357 3.6% _aesni_ctr32_ghash_6x
322 3.2% 83.1% 536 5.4% ngx_vslprintf
300 3.0% 86.1% 300 3.0% syscall
277 2.8% 88.9% 277 2.8% __libc_pread64
226 2.3% 91.2% 226 2.3% __memmove_avx_unaligned_erms
142 1.4% 92.6% 190 1.9% ngx_sprintf_num
93 0.9% 93.5% 7911 79.2% ngx_log_error_core
63 0.6% 94.1% 63 0.6% epoll_wait
55 0.6% 94.7% 55 0.6% __recvmsg
35 0.4% 95.0% 300 3.0% ngx_slprintf
19 0.2% 95.2% 19 0.2% __strcmp_avx2
17 0.2% 95.4% 89 0.9% ngx_quic_create_frame
16 0.2% 95.6% 16 0.2% _init на 39000
...
3 0.0% 98.6% 3 0.0% __sendmmsg
...
Размер лог-файла получился очень большим, около 1.5 Gb. В нём около нескольких сотен
упоминаний sendmmsg. Что там искать, на что обратить внимание?
cat /tmp/nginx/debug.log| grep 'sendmmsg'
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmmsg: 2 of 2 msg of size 69087
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmmsg: 2 of 2 msg of size 69087
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmmsg: 2 of 2 msg of size 69087
...
Часть лога с sendmmsg:
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx app STREAM id:0x0 off:3145389 len:339
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet tx app bytes:1162 need_ack:1 number:2784 encoded nl:1 trunc:0xe0
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmmsg: 2 of 2 msg of size 69087
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:69087
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer: 9, old: 863483412, new: 863483521
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic lost timer pto:48
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer add: 9: 48:863423569
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic state: send:59891 pto:48
2024/01/11 21:32:36 [debug] 33853#33853: quic recvmsg on [::]:443, ready: 0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic recvmsg: fd:9 n:51
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic input handler
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet rx short flags:42
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet rx dcid len:20 000000000001a00183bd407243b7f2011ca86733
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet rx clearflags:40
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet rx number:52 len:1
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet len:51 via sock seq:0 path seq:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic path seq:0 status tx:3319325 rx:7668 valid:1 st:2 mtu:1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame rx app ACK n:0 delay:15 2784-2669
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_handle_ack_frame level:3
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion slow start win:3379951 ss:-1 if:67887
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic stream id:0x0 ack len:1152 fin:0 unacked:64384
2024/01/11 21:32:36 [debug] 33853#33853: *6 post event 00006741DE771C80
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion slow start win:3381151 ss:-1 if:66687
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic stream id:0x0 ack len:1152 fin:0 unacked:63232
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion slow start win:3382351 ss:-1 if:65487
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic stream id:0x0 ack len:1152 fin:0 unacked:62080
Ещё часть лога с sendmsg:
024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_add_handshake_data
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic SSL_get_peer_quic_transport_params(): params_len:74
2024/01/11 21:32:36 [info] 33853#33853: *1 quic unknown transport param id:0x11, skipped while handling frames, client: ::1, server: [::]:443
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic transport parameters parsed ok
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp disable active migration: 0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp idle_timeout:60000
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_udp_payload_size:65527
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_data:1310720
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_stream_data_bidi_local:131072
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_stream_data_bidi_remote:131072
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_stream_data_uni:131072
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp initial_max_streams_bidi:262144
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp initial_max_streams_uni:262144
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp ack_delay_exponent:3
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp max_ack_delay:25
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp active_connection_id_limit:2
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic tp initial source_connection_id len:20 de1e73dcd4e6a4fdc6ecfb38ac840a34922b8517
2024/01/11 21:32:36 [debug] 33853#33853: *1 posix_memalign: 00006741DE627800:512 @16
2024/01/11 21:32:36 [debug] 33853#33853: *1 malloc: 00006741DE650000:4096
2024/01/11 21:32:36 [debug] 33853#33853: *1 post event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_set_encryption_secrets() level:2
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_add_handshake_data
2024/01/11 21:32:36 [debug] 33853#33853: *1 malloc: 00006741DE651000:4096
2024/01/11 21:32:36 [debug] 33853#33853: *1 posix_memalign: 00006741DE627A00:512 @16
2024/01/11 21:32:36 [debug] 33853#33853: *1 update posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_add_handshake_data
2024/01/11 21:32:36 [debug] 33853#33853: *1 malloc: 00006741DE652000:4096
2024/01/11 21:32:36 [debug] 33853#33853: *1 update posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_add_handshake_data
2024/01/11 21:32:36 [debug] 33853#33853: *1 malloc: 00006741DE653000:4096
2024/01/11 21:32:36 [debug] 33853#33853: *1 posix_memalign: 00006741DE627C00:512 @16
2024/01/11 21:32:36 [debug] 33853#33853: *1 update posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_add_handshake_data
2024/01/11 21:32:36 [debug] 33853#33853: *1 malloc: 00006741DE654000:4096
2024/01/11 21:32:36 [debug] 33853#33853: *1 update posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_flush_flight()
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_set_encryption_secrets() level:3
2024/01/11 21:32:36 [debug] 33853#33853: *1 SSL_do_handshake: -1
2024/01/11 21:32:36 [debug] 33853#33853: *1 SSL_get_error: 2
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame rx init PADDING
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic ngx_quic_ack_packet pn:0 largest -1 fr:0 nranges:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 update posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet done rc:0 level:init decr:1 pn:0 perr:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer add: 9: 60000:863483412
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer add: 9: 60000:863483412
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic state: read:60000 close:60000
2024/01/11 21:32:36 [debug] 33853#33853: *1 delete posted event 00006741DE6D5608
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic push handler
2024/01/11 21:32:36 [debug] 33853#33853: *1 posix_memalign: 00006741DE627E00:512 @16
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic output init packet max:1200 min:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx init ACK n:0 delay:0 0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx init CRYPTO len:123 off:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet tx init bytes:132 need_ack:1 number:0 encoded nl:1 trunc:0x0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic output hs packet max:1001 min:1001
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:163 off:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic split frame now:1403 need:768 shrink:635
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:763 off:163
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet tx hs bytes:935 need_ack:1 number:0 encoded nl:1 trunc:0x0
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmsg: 1200 of 1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:199
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic output hs packet max:1200 min:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:635 off:926
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic split frame now:525 need:494 shrink:31
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:489 off:1561
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet tx hs bytes:1134 need_ack:1 number:1 encoded nl:1 trunc:0x1
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmsg: 1200 of 1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:2400
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:2400
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic output hs packet max:1200 min:0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:31 off:2050
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic frame tx hs CRYPTO len:36 off:2081
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic packet tx hs bytes:75 need_ack:1 number:2 encoded nl:1 trunc:0x2
2024/01/11 21:32:36 [debug] 33853#33853: *1 sendmsg: 141 of 141
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:2400
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:2541
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic congestion send if:2541
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic path limit 1200 - 1059
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer: 9, old: 863483412, new: 863483412
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic lost timer pto:997
2024/01/11 21:32:36 [debug] 33853#33853: *1 event timer add: 9: 997:863424409
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic state: send:60000 pto:997 close:60000
2024/01/11 21:32:36 [debug] 33853#33853: quic recvmsg on [::]:443, ready: 0
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic recvmsg: fd:9 n:1200
2024/01/11 21:32:36 [debug] 33853#33853: *1 quic input handler
Вы писали 11 января 2024 г., 16:59:54:
> 9 раз вызвался ?
> есть подозрение, что произошла ошибка и перешли на sendmsg.
> попробуйте в дебаге, в прилагаемом патче есть ngx_log_debug0(...)
--
С уважением,
Izorkin mailto:izorkin на gmail.com
----------- следующая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20240111/061f56e8/attachment-0001.htm>
Подробная информация о списке рассылки nginx-ru