Le 30.09.2021 à 15:18, ste...@eissing.org a écrit :
Just a FYI: I announced that I had a rewrite of the connection/stream
handling in the works and would bring that into trunk soon. An update
on how that is going:

v2.0.0-rc4 is on github now and solves the problem with pipes on our
beloved Window platform, thanks to user @nono303 for the testing.

I have asked on twitter for some more volunteers on testing that, so
maybe next week, when nothing more negative comes up, I will bring
that into trunk.

On a "real" OS, there will then be a apr_pollset for monitoring main
connections and streams (secondary connections). And those will then
have a file handle for input polling. This gives opportunities for
certain proxy modules to use pollsets also, if we want to.

Overall, this allowed the implementation to reduce complexity. The
naming should now make an easier read. Where applicable "conn_rec *c"
has been renamed to "c1" for a main connection and "c2" for a
secondary one and filters/functions have been renamed to show
which connection type they are intended for.

Beams have been simplified and no longer use "proxy" buckets. MMAP
buckets are transferred more efficiently.

Rüdiger's "H2StreamTimeout" has been added and test cases gave some
surprises. Turns out ap_die() behaves different depending on the
presence of the H1 header filter in the out filter chain. Who knew?

Performance is improved under load. I think its basically less CPU
usage that raises the request/s ceiling by 5-10% on my macOS machine
when serving static files.

Cheers,
Stefan

Reply via email to