You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "bryancall (via GitHub)" <gi...@apache.org> on 2024/07/08 19:43:27 UTC
[I] Updated http3 benchmark [trafficserver]
bryancall opened a new issue, #11518:
URL: https://github.com/apache/trafficserver/issues/11518
```
**http2load**
finished in 65.00s, 83685.82 req/s, 94.49MB/s
requests: 5021149 total, 5021149 started, 5021149 done, 5021149 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 5021166 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 5.54GB (5944777841) total, 798.07MB (836837680) headers (space savings 35.31%), 5.19GB (5568962560) data
UDP datagram: 2993583 sent, 6781646 received
min max mean sd +/- sd
time for request: 2.78ms 41.58ms 10.85ms 4.10ms 75.84%
time for connect: 0us 0us 0us 0us 0.00%
time to 1st byte: 0us 0us 0us 0us 0.00%
req/s : 484.90 1073.51 836.85 186.05 71.00%
**dstat**
You did not select any stats, using -cdngy by default.
----total-usage---- -dsk/total- ---net/lo-- -net/total- ---paging-- ---system--
usr sys idl wai stl| read writ| recv send: recv send| in out | int csw
64 7 28 0 0| 40k 1313k| 532B 532B:7632k 97M|0.20 0 |3491k 311k
68 7 24 0 0| 0 506k| 532B 532B:8075k 102M|0.20 0 |3597k 318k
69 7 24 0 0| 0 146k| 552B 552B:8112k 102M|4.60 0 |3698k 323k
69 7 23 0 0| 0 35M| 532B 532B:8193k 104M|1.60 0 |3709k 321k
69 7 23 0 0| 0 0 | 592B 592B:8335k 105M|1.00 0 |3759k 323k
69 7 23 0 0| 0 267k| 532B 532B:8191k 103M|1.00 0 |3700k 322k
69 7 24 0 0| 0 0 | 532B 532B:8245k 104M|0.40 0 |3720k 320k
69 7 24 0 0| 0 1638B| 532B 532B:8128k 101M|0.60 0 |3691k 322k
69 7 24 0 0|2257k 57M| 532B 532B:8177k 103M|11.6 0 |3694k 324k
69 7 24 0 0| 0 17M| 532B 532B:8196k 102M|1.60 0 |3723k 321k
69 7 23 0 0| 0 0 | 592B 592B:8264k 104M|1.40 0 |3746k 321k
69 7 23 0 0| 0 825k| 532B 532B:8211k 103M|1.00 0 |3711k 321k
69 7 23 0 0| 0 826k| 532B 532B:8257k 104M|1.60 0 |3728k 318k
**perf stat**
perf: 'stat-p' is not a perf-command. See 'perf --help'.
**perf report**
# Total Lost Samples: 0
#
# Samples: 1M of event 'cycles:P'
# Event count (approx.): 5437933978065
#
# Overhead Shared Object Symbol IPC [IPC Coverage]
# .......... .................... .................................................. ....................
#
45.77% traffic_server [.] freelist_new(_InkFreeList*) - -
10.75% traffic_server [.] freelist_free(_InkFreeList*, void*) - -
1.54% traffic_server [.] ink_freelist_new(_InkFreeList*) - -
1.03% libc.so.6 [.] __memmove_avx_unaligned_erms - -
1.02% traffic_server [.] IOBufferBlock::clear() - -
0.93% libc.so.6 [.] _int_malloc - -
0.72% libquiche.so [.] <alloc::string::String as core::fmt::Write>::w - -
0.64% libquiche.so [.] core::fmt::write - -
0.62% traffic_server [.] thread_freeup(FreelistAllocator&, ProxyAllocat - -
0.59% [vdso] [.] __vdso_clock_gettime - -
0.51% traffic_server [.] QPACK::_encode_header(MIMEField const&, unsign - -
0.49% libc.so.6 [.] _int_free - -
0.46% [kernel.kallsyms] [k] __memcpy - -
0.37% libquiche.so [.] quiche::Connection::send_single - -
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "maskit (via GitHub)" <gi...@apache.org>.
maskit commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2218016618
Yes, that was suggested a few years ago, and nobody hasn't tried it yet, even though that doesn't require any protocol knowledge.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ywkaras (via GitHub)" <gi...@apache.org>.
ywkaras commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2217773202
Maybe we need a corresponding ProxyAllocator for the udpPacketAllocator class allocator. It would be interesting to compare the benchmark hotspots with and without -f .
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "maskit (via GitHub)" <gi...@apache.org>.
maskit commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2216497991
There are allocators for for H3 and QUIC, although some are not used:
```
$ git grep ClassAllocator src/proxy/http3/
src/proxy/http3/Http3Frame.cc:ClassAllocator<Http3Frame> http3FrameAllocator("http3FrameAllocator");
src/proxy/http3/Http3Frame.cc:ClassAllocator<Http3DataFrame> http3DataFrameAllocator("http3DataFrameAllocator");
src/proxy/http3/Http3Frame.cc:ClassAllocator<Http3HeadersFrame> http3HeadersFrameAllocator("http3HeadersFrameAllocator");
src/proxy/http3/Http3Frame.cc:ClassAllocator<Http3SettingsFrame> http3SettingsFrameAllocator("http3SettingsFrameAllocator");
```
```
$ git grep ClassAllocator src/iocore/net/ | grep -i quic
src/iocore/net/P_QUICNet.h:extern ClassAllocator<QUICPollEvent> quicPollEventAllocator;
src/iocore/net/P_QUICNetVConnection.h:extern ClassAllocator<QUICNetVConnection> quicNetVCAllocator;
src/iocore/net/QUICNet.cc:ClassAllocator<QUICPollEvent> quicPollEventAllocator("quicPollEvent");
src/iocore/net/QUICNetVConnection.cc:ClassAllocator<QUICNetVConnection> quicNetVCAllocator("quicNetVCAllocator");
```
But I don't think these ae the cause.
The heaviest user of freelist on the benchmark is probably `udpPacketAllocator` (and `ioBlockAllocator` used by UDPPacket class).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ywkaras (via GitHub)" <gi...@apache.org>.
ywkaras commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2218309060
I think we are not sure proxy and class allocators improve performance when using a general purpose allocator with per-thread arenas.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "brbzull0 (via GitHub)" <gi...@apache.org>.
brbzull0 commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2248284916
did some tests locally in my small nuc, couldn't get similar results.
https://gist.github.com/brbzull0/19bcd10f135057d66a9540581c8b54b6
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ksqrtr (via GitHub)" <gi...@apache.org>.
ksqrtr commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2219830962
Can you please share trafficserver's config (records.yaml) used for this benchmark?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ywkaras (via GitHub)" <gi...@apache.org>.
ywkaras commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2215967255
It looks like we are not using proxy allocators for H3:
```
wkaras ~/LOCAL_REPOS/TS
$ grep 'ProxyAllocator.*http[23]' $(findsrc)
./include/iocore/eventsystem/Thread.h: ProxyAllocator http2ClientSessionAllocator;
./include/iocore/eventsystem/Thread.h: ProxyAllocator http2ServerSessionAllocator;
./include/iocore/eventsystem/Thread.h: ProxyAllocator http2StreamAllocator;
wkaras ~/LOCAL_REPOS/TS
$
```
Proxy allocators reduce allocs/frees with class allocators, which require freelist operations. Are we benchmarking with -f , where the freelist new and free just call stdlib malloc and free?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-3116146400
This issue has been automatically marked as stale because it has not had recent activity. Marking it stale to flag it for further consideration by the community.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ywkaras (via GitHub)" <gi...@apache.org>.
ywkaras commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2217762251
I see, it looks like there are proxy allocators named quic instead of http3:
```
wkaras ~/LOCAL_REPOS/TS
$ grep -F ProxyAllocator $(findsrc) | grep -Fi quic
./include/iocore/eventsystem/Thread.h: ProxyAllocator quicNetVCAllocator;
./include/iocore/eventsystem/Thread.h: ProxyAllocator quicClientSessionAllocator;
wkaras ~/LOCAL_REPOS/TS
$
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "maskit (via GitHub)" <gi...@apache.org>.
maskit commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2218317897
Yup, that's one of reasons I stopped using them for new code for H3 and QUIC (using them requires extra code, and there was an issue that constructors/destructors are not called).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "bryancall (via GitHub)" <gi...@apache.org>.
bryancall commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2215047770
About 23% idle CPU and a lot of memory allocation happening.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [I] Updated http3 benchmark [trafficserver]
Posted by "ksqrtr (via GitHub)" <gi...@apache.org>.
ksqrtr commented on issue #11518:
URL: https://github.com/apache/trafficserver/issues/11518#issuecomment-2219892131
And which branch was used for this benchmark? master or 10.0.x?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org