Giter Club home page Giter Club logo

Comments (5)

bryancall avatar bryancall commented on July 25, 2024

These are the results of http/2:

**http2load**
finished in 65.00s, 781381.18 req/s, 783.06MB/s
requests: 46882871 total, 46882871 started, 46882871 done, 46882871 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 46882871 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 45.88GB (49265980482) total, 424.87MB (445505292) headers (space savings 96.31%), 48.46GB (52033899520) data
                     min         max         mean         sd        +/- sd
time for request:      110us     52.30ms      1.13ms       654us    89.32%
time for connect:        0us         0us         0us         0us     0.00%
time to 1st byte:        0us         0us         0us         0us     0.00%
req/s           :    5869.32     8612.41     7813.76      713.22    78.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
 77  18   5   0   0|   0    17M|5973B 5973B:  32M  760M|   0     0 |9306k  192k
 82  18   0   0   0|   0  1305k| 545B  545B:  34M  808M|   0     0 |9652k  194k
 82  18   0   0   0|   0   300k| 512B  512B:  33M  804M|   0     0 |  10M  195k
 82  18   0   0   0|   0  1638B| 512B  512B:  33M  804M|   0     0 |  10M  196k
 82  18   0   0   0|   0    68M| 511B  511B:  33M  802M|   0     0 |9808k  197k
 82  18   0   0   0|   0   496M| 512B  512B:  33M  801M|   0     0 |9556k  195k
 82  18   0   0   0|   0  3277B| 512B  512B:  34M  808M|   0     0 |9403k  197k
 82  18   0   0   0|   0  1638B| 512B  512B:  33M  801M|   0     0 |9699k  195k
 82  18   0   0   0|   0  1638B| 512B  512B:  33M  793M|   0     0 |9757k  194k
 82  18   0   0   0|   0  3277B|1194B 1194B:  33M  791M|   0     0 |9641k  195k
 82  18   0   0   0|   0   267k|1340B 1340B:  33M  788M|   0     0 |9722k  193k
 83  17   0   0   0|   0   664M| 512B  512B:  33M  785M|   0     0 |9787k  192k
 83  17   0   0   0|   0   824k| 512B  512B:  33M  791M|   0     0 |9589k  191k
**perf stat**
perf: 'stat-p' is not a perf-command. See 'perf --help'.
**perf report**
# Total Lost Samples: 0
#
# Samples: 2M of event 'cycles:P'
# Event count (approx.): 7767083254126
#
#   Overhead  Shared Object         Symbol                                              IPC   [IPC Coverage]
# ..........  ....................  ..................................................  ....................
#
       3.09%  [vdso]                [.] __vdso_clock_gettime                            -      -
       1.56%  traffic_server        [.] mime_hdr_field_find(MIMEHdrImpl*, char const*,  -      -
       1.49%  traffic_server        [.] hdrtoken_tokenize(char const*, int, char const  -      -
       1.39%  traffic_server        [.] mime_parser_parse(MIMEParser*, HdrHeap*, MIMEH  -      -
       1.34%  traffic_server        [.] VersionConverter::convert(HTTPHdr&, int, int)   -      -
       1.16%  traffic_server        [.] freelist_new(_InkFreeList*)                     -      -
       0.98%  libc.so.6             [.] __memmove_avx_unaligned_erms                    -      -
       0.95%  traffic_server        [.] XpackDynamicTable::lookup(char const*, unsigne  -      -
       0.88%  libcrypto.so          [.] _aesni_ctr32_ghash_6x                           -      -
       0.83%  libc.so.6             [.] __memcmp_avx2_movbe                             -      -
       0.72%  traffic_server        [.] HpackIndexingTable::lookup(HpackHeaderField co  -      -
       0.69%  libc.so.6             [.] __memchr_avx2                                   -      -
       0.65%  traffic_server        [.] HdrHeap::duplicate_str(char const*, int)        -      -
       0.64%  libc.so.6             [.] toupper                                         -      -
       0.62%  traffic_server        [.] mime_hdr_field_attach(MIMEHdrImpl*, MIMEField*  -      -
       0.60%  traffic_server        [.] huffman_decode(char*, unsigned char const*, un  -      -
       0.60%  traffic_server        [.] MIMEScanner::get(swoc::_1_5_12::TextView&, swo  -      -
       0.60%  traffic_server        [.] HdrHeap::allocate_str(int)                      -      -

from trafficserver.

bryancall avatar bryancall commented on July 25, 2024

Changes for benchmarking and debugging the issue:

diff --git a/src/iocore/net/QUICPacketHandler.cc b/src/iocore/net/QUICPacketHandler.cc
index d336fcd57..017926cb2 100644
--- a/src/iocore/net/QUICPacketHandler.cc
+++ b/src/iocore/net/QUICPacketHandler.cc
@@ -230,7 +230,7 @@ QUICPacketHandlerIn::_recv_packet(int event, UDPPacket *udp_packet)

   EThread *eth = nullptr;
   if (vc == nullptr) {
-    if (!quiche_version_is_supported(version)) {
+    if (0 && !quiche_version_is_supported(version)) {
       Ptr<IOBufferBlock> udp_payload(new_IOBufferBlock());
       udp_payload->alloc(iobuffer_size_to_index(DEFAULT_MAX_DATAGRAM_SIZE, BUFFER_SIZE_INDEX_2K));
       QUICPHDebug(QUICConnectionId(scid, scid_len), QUICConnectionId(dcid, dcid_len), "Unsupported version: 0x%x", version);
diff --git a/src/iocore/net/quic/QUICStreamManager.cc b/src/iocore/net/quic/QUICStreamManager.cc
index eb241c23a..ff97164fb 100644
--- a/src/iocore/net/quic/QUICStreamManager.cc
+++ b/src/iocore/net/quic/QUICStreamManager.cc
@@ -81,11 +81,19 @@ QUICStreamManager::stream_count() const
 QUICStream *
 QUICStreamManager::find_stream(QUICStreamId stream_id)
 {
+  int32_t count = 0;
   for (QUICStream *s = this->stream_list.head; s; s = s->link.next) {
+    ++count;
     if (s->id() == stream_id) {
+      if (count > 1000) {
+        Debug("bcall", "Found stream %p in stream_list. count: %d", s, count);
+      }
       return s;
     }
   }
+  if (count > 5000) {
+    Debug("bcall", "Stream %ld not found in stream_list. count: %d", stream_id, count);
+  }
   return nullptr;
 }

from trafficserver.

brbzull0 avatar brbzull0 commented on July 25, 2024

I was just talking with Masakazu, I'll start looking into this now.

from trafficserver.

brbzull0 avatar brbzull0 commented on July 25, 2024

it seems aren't deleting any streams at all.

probably because we do not get the right answer from this:

QUICStreamVCAdapter::is_writable()
{
return this->stream().direction() != QUICStreamDirection::RECEIVE && _write_vio.nbytes != -1;
}

I'll dig dipper.

#11196

from trafficserver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.