LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Problem with rr scheduling

To: <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: Problem with rr scheduling
From: "Kiran Nagaraja" <knagaraj@xxxxxxxxxxxxxx>
Date: Tue, 19 Nov 2002 13:23:21 -0800
> > The solution I applied was to reduce the MASQ_TIME_WAIT
>
> you did this in the LVS code?

 I modified the initialization values in the
masq_timeout_table for IP_MASQ_S_TIME_WAIT to 1*30HZ
in the file ip_masq.c.  The current /proc interface allows modification
of this value only when the secure TCP is enabled, I should have
probably just used that.....

>
>
> > and also to
> > enforce that every new SYN (thank TCP for this) goes to scheduler
> > by taking a MASQ cache miss(this does not appear to be such a
performance
> > hit).
>
> how did you do this?

In ip_masq.c when it tries to get the masq entry from LVS

        ms = ip_masq_in_get_iph(iph);

I modified this as follows.....

#ifdef SCHED_EVERYTIME
        //schedule every new conn to a different dest and allow any previous
        //mapping to expire
        if(h.th->syn && svc){
                ms = ip_vs_schedule(svc, iph);
                if (ms){
                        ip_vs_conn_stats(ms, svc);
                }
       }else
#endif
        ms = ip_masq_in_get_iph(iph);

* NOTE The reduction in timeout is just to prevent hogging of memory,
if the director has enough memory, u could leave the timeout value alone....










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