I have done some experiments raising the backlog value, and it is
possibly a bit better, I have to test it more. Even if it works I would of
course like to avoid having to rely on a patched qpid. Also, maybe some
internal queues or similar should be modified to handle this?

I have not seen transport errors in the clients, but this may be because
reconnection is enabled. I am unsure on what the reconnection feature
actually does, I never seen an on_connection_open where
connection.reconnection() returns true.
Perhaps it is only useful when a connection is established and then lost?





On Thu, Jun 2, 2022 at 1:44 PM Ted Ross <tr...@redhat.com> wrote:

> On Thu, Jun 2, 2022 at 9:06 AM Fredrik Hallenberg <megahal...@gmail.com>
> wrote:
>
> > Hi, my application tends to get a lot of short lived incoming
> connections.
> > Messages are very short sync messages that usually can be responded with
> > very little processing on the server side. It works fine but I feel
> > that the performance is a bit lacking when many connections happen at the
> > same time and would like advice on how to improve it. I am using qpid
> > proton c++ 0.37 with epoll proactor.
> > My current design uses a single thread for the listener but it will
> > immediately push incoming messages in on_message to a queue that is
> handled
> > elsewhere. I can see that clients have to wait for a long time (up to a
> > minute) until they get a response, but I don't believe there is an issue
> on
> > my end as I as will quickly deal with any client messages as soon as they
> > show up. Rather the issues seems to be that messages are not pushed into
> > the queue quickly enough.
> > I have noticed that the pn_proactor_listen is hardcoded to use a backlog
> of
> > 16 in the default container implementation, this seems low, but I am not
> > sure if it is correct to change it.
> > Any advice apppreciated. My goal is that a client should never need to
> wait
> > more than a few seconds for a response even under reasonably high load,
> > maybe a few hundred connections per seconds.
> >
>
> I would try increasing the backlog.  16 seems low to me as well.  Do you
> know if any of your clients are re-trying the connection setup because they
> overran the server's backlog?
>
> -Ted
>

Reply via email to