On Thu, Dec 15, 2022 at 08:58:29PM -0700, Shawn Heisey wrote:
> I'm sure the performance issue has been brought to the attention of the
> OpenSSL project ... what did they have to say about the likelihood and
> timeline for providing a fix?

They're still working on it for 3.1. 3.1-alpha is "less worse" than
3.0 but still far behind 1.1.1 in our tests.

> Is there an article or bug filed I can read for more information?

There's this issue that centralizes the status of the most important
regression reports:

  https://github.com/openssl/openssl/issues/17627#issuecomment-1060123659

We've also planned to issue an article to summarize our observations
about this before users are hit too strong, but it will take some
time to collect all info and write it down. But it's definitely a big
problem for users who upgrade to latest LTS distros that shipped 3.0
without testing it (though I can't blame distros, it's not the package
maintainers' job to run performance tests on what they maintain) :-(

My personal feeling is that this disaster combined with the stubborn
refusal to support the QUIC crypto API that is mandatory for any
post-2021 HTTP agent basically means that OpenSSL is not part of the
future of web environments and that it's urgent to find alternatives,
just like all other projects are currently seeking. And with http-based
products forced to abandon OpenSSL, it's unlikely that their performance
issues will be relevant in the future so it should get even worse over
time by lack of testing and exposure. It's sad, because before the QUIC
drama, we hoped to spend some time helping them improve their perfomance
by reducing the locking abuse. Now the project has gone too far in the
wrong direction for anything to be doable anymore, and I doubt that
anyone has the energy to fork 1.1.1 and restart from a mostly clean
state. But anyway, a solution must be found for the next batch of LTS
distros so that users can jump from 20.x to 24.x and skip 22.x.

There's currently a great momentum around WolfSSL that was already
adopted by Apache, Curl, and Ngtcp2 (which is the QUIC stack that
powers most HTTP/3-compatible agents). Its support on haproxy is
making fast progress thanks to the efforts on the two sides, and it's
pleasant to speak to people who care about performance. I'd bet we'll
find it packaged in a usable state long before OpenSSL finally changes
their mind on QUIC and reaches distros in a usable state. That's a
perfect (though sad) example of the impact of design by committee!

   https://www.openssl.org/policies/omc-bylaws.html#OMC
   https://en.wikipedia.org/wiki/Design_by_committee

Everything was written...
Willy

Reply via email to