Hello,
I'm using FreeBSD as a balancer in a production environment, along with
nginx on a CARP-enabled couple of servers.
Recently I've upgraded one to 13.0 from 12.1, so far so good, but
there's one thing that bothers me.
When I switch the client traffic from 12.1 to 13.0 in a CARP group, I
get way fewer TCP connections count on a 13.0 than I get on 12.1. Say, I
get 100K on a 12.1? but this traffic flow gives me only about 25K on a
13.0. You could say "yeah, that's because 75K of clients get DoS on a
13.0 due some sort of regression" - but this explanation isn't working,
because I'm also constantly graphing the client error rate from the
client point of view (client application sends it to an analyzer) and
the latter rate doesn't change.
You can observe the change on a pic:
http://zhegan.in/files/tcp-connections.png
Look at the green graph and a yellow graph. Green is 12.1 and yellow is
13.3. Don't mind the spiked yellow part, it's a detuning consequence
(btw that's what happend when you cap down the ARC on heavily biffering
files balancer) and mind only the steady yellow part. You can see the
active/passive carp switches and each times the number of connections on
a 13.0 drops down and then restores when onm 12.1.
I'm also graphing the balancer/nginx accepts/handled rate which is
constant at 4K/sec - means the flow itself isn't changing a lot.
I'm also graphing the connections scoreboard from nginx and it also
shows x4 drops/rises when switching from 12.1to 13.0.
Is this a bug/glitch of the 13.3 statistics (seems unprobeble because
nginx shows it too) or is there some other explanation that I don't get ?
Thanks.
Eugene.