LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] 2.3.36 performance

To: "Howard M. Kash (Civ, ARL/CISD)" <howard.kash@xxxxxxxxxxx>, lvs-users@xxxxxxxxxxxxxxxxxxxxxx, Julian Anastasov <ja@xxxxxx>
Subject: Re: [lvs-users] 2.3.36 performance
From: Simon Horman <horms@xxxxxxxxxxxx>
Date: Sat, 30 Oct 2010 19:01:23 +0900
On Sat, Oct 30, 2010 at 11:32:12AM +0900, Simon Horman wrote:
> On Fri, Oct 29, 2010 at 02:57:57PM -0400, Howard M. Kash (Civ, ARL/CISD) 
> wrote:
> > 
> > After upgrading from 2.6.35.4 (with OPS patch) to 2.6.36, ksoftirqd
> > process (eight of them) went from using 5-15% CPU each to using 15-40%
> > CPU each.  Load average went from around 0.6 to around 2.  The server is
> > round-robin load balancing about 19,000 UDP and 90 TCP DNS connection per
> > second.  UDP uses OPS.  Broadcom NIC cards are using MSI.  With MSI
> > disabled, load average is 0.11 and only one or two ksoftirqd process use
> > <5% CPU.
> > 
> > Could the nf_conntrack changes have caused this?  There were also many
> > MSI and bnx2 updates in 2.6.36, so not sure if it's LVS or not.
> 
> Hi Howard,
> 
> Yes, it is very likely that the problem you are seeing
> is a regression caused by the introduction of full-NAT.
> 
> There is a fix for this, which will be included in 2.6.37-rc1
> but unfortunately it was to invasive to include in 2.6.36 as
> the problem was noticed fairly late in the release cycle.
> 
> As I understand it, the fix that was made by the three patches
> listed below.
> 
> These patches appear to apply cleanly on top of 2.6.36.
> The v2.6.36-nfct branch of
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6.git
> is 2.6.36 plus these three patches.
> 
> I believe that even with these patches in order to avoid the performance
> penalty you need to set /proc/sys/net/ipv4/vs/snat_reroute to 0.
> 
> 
> 
> commit 8a8030407f55a6aaedb51167c1a2383311fcd707
> Author: Julian Anastasov <ja@xxxxxx>
> Date:   Tue Sep 21 17:38:57 2010 +0200
> 
>     ipvs: make rerouting optional with snat_reroute
>     
>       Add new sysctl flag "snat_reroute". Recent kernels use
>     ip_route_me_harder() to route LVS-NAT responses properly by
>     VIP when there are multiple paths to client. But setups
>     that do not have alternative default routes can skip this
>     routing lookup by using snat_reroute=0.
>     
>     Signed-off-by: Julian Anastasov <ja@xxxxxx>
>     Signed-off-by: Patrick McHardy <kaber@xxxxxxxxx>

Julian,

do you think that it would be possible to add some auto-detection
that turns snat_reroute on and off as necessary?


_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>