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