Concurrent processing of queries from the same TCP connection

Hi,

I noticed that when unbound processes queries from the same TCP connection, it processes them sequentially.

If I send multiple queries over the same TCP connection, unbound processes them one by one (not concurrently), which causes head of line blocking: The later queries have to wait previous queries to get processed.

The question is:
Is there any particular reason that unbound doesn’t support concurrent processing of queries from the same TCP connection?

thanks
-Zi

Hi Zi,

Hi,

I noticed that when unbound processes queries from the same TCP
connection, it processes them sequentially.

Yes.

If I send multiple queries over the same TCP connection, unbound
processes them one by one (not concurrently), which causes head of
line blocking: The later queries have to wait previous queries to
get processed.

The question is: Is there any particular reason that unbound
doesn't support concurrent processing of queries from the same TCP
connection?

The reason is a lot of code for little gain. Concurrent processing
(although possible because queries from different connections get
concurrent processing already) is likely to be a lot of code to implement.

Best regards,
   Wouter

Wouldn't it be a massive performance improvement for DNS-over-TLS as used
by dnssec-trigger?

Tony.

And by improvement, you mean "bring to a usable state".

Paul