On 4/2/2016 6:23 AM, Dennis Jacobfeuerborn wrote:
> What about the multiplexing of connections? If you use http 1.x to
> communicate with the servers you effectively nullify that 2.0 feature.
> At least in theory in order to actually get all the benefits from http/2
> you need support for the client side and unencrypted support on the
> server side to prevent having to re-encrypt data (or some form of
> persistent connection pooling to minimize the new establishment of
> connections to the server).

Although having multiplexing support for the backend would certainly
help performance, normally a LAN is fast enough that the only
significant cost to establishing many connections is the number of
simultaneous open sockets.  This *is* a worry for extremely high traffic
sites, but many sites (including mine) do not receive enough traffic for
that to be a problem.

Latency for a LAN is probably one millisecond or less, while on the
Internet side latencies up to several hundred milliseconds are
possible.  If everything from the client to haproxy is using one HTTP/2
connection, performance on my LAN backend should be very good even if
it's running HTTP/1.1 without keepalive.  Eventually, I'd upgrade the
backend to HTTP/2 as well.  If I were to upgrade both at the same time,
and there was a problem, I would not know which change *caused* the problem.

I think that HTTP/2 server support (facing the Internet) is *slightly*
more important in haproxy than HTTP/2 client support (facing the
servers), but only slightly.  High-traffic sites need both.

Thanks,
Shawn


Reply via email to