HAProxy 1.8.21: One CPU core stuck at 100%
Hello, I've several installations with different config and usage on 1.8.21 and no problem so far. I found one installation on a cluster of 6 servers, which all of them had one cpu core stuck at 100% and Idle_pct lower than 10. I've played with nproc and nbthread and other values with no luck so upgraded from 1.8.21 to 1.8.21-ba3abe-12 and it was the same. After comparing other installations with this one found that this is the only cluster with allow-0rtt enabled. removed allow-0rtt from bind options and it didn't happen in last 10 days! Hope it helps to have more stable 1.8.22 :) Sincerely, Amin Shayan
Re: HTTP version log format for http2
Hi Willy, Thanks for the workaround and explanation. Works as expected. Sincerely, Amin Shayan On Wed, Jan 16, 2019 at 6:15 PM Willy Tarreau wrote: > Hi Amin, > > On Mon, Dec 31, 2018 at 05:23:17PM +0100, Amin Shayan wrote: > > Hi guys, > > > > I'm trying to get clients request http version and it seems %HV which is > > the last field of %r works fine for http/0.9,1.0,1.1. However I get > > http/1.1 on logs for http2 requests. > > > > Using HAProxy 1.8.16, Is there still below limitation? > > > > - no trivial way to report HTTP/2 in the logs. I'm using a sample > > fetch function reporting the on-wire format as 1 or 2 for now. I > > considered replacing "HTTP/1.1" with "HTTP/2.0" in the logs but > > that's inaccurate since we really process "1.1" so it might be > > confusing to those dealing with regex which don't seem to match, > > and in addition "HTTP/2.0" is not the correct version string, the > > correct one is "HTTP/2". But writing this without the dot and the > > minor version is going to break some log processing tools. Thus I > > was thinking about having some optional fields that are supposed > > to be easy to use. Note that we had the same issue with SSL long > > ago, ending with "~" after the frontend's name in the logs... > > Better avoid this for H2. Ideas are welcome. > > Yes that's true for 1.8. However there is a sample fetch function called > "fc_http_major" which returns the major protocol number on the frontend > connection (1 for 0.9-1.1, 2 for 2.0). You could thus add something like > this to your log-format : > >... HTTP/%[fc_http_major] > > Hoping this helps, > Willy >
HTTP version log format for http2
Hi guys, I'm trying to get clients request http version and it seems %HV which is the last field of %r works fine for http/0.9,1.0,1.1. However I get http/1.1 on logs for http2 requests. Using HAProxy 1.8.16, Is there still below limitation? - no trivial way to report HTTP/2 in the logs. I'm using a sample fetch function reporting the on-wire format as 1 or 2 for now. I considered replacing "HTTP/1.1" with "HTTP/2.0" in the logs but that's inaccurate since we really process "1.1" so it might be confusing to those dealing with regex which don't seem to match, and in addition "HTTP/2.0" is not the correct version string, the correct one is "HTTP/2". But writing this without the dot and the minor version is going to break some log processing tools. Thus I was thinking about having some optional fields that are supposed to be easy to use. Note that we had the same issue with SSL long ago, ending with "~" after the frontend's name in the logs... Better avoid this for H2. Ideas are welcome. Sincerely, Amin Shayan