Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 1998 13:48:21 +0200 (CEST)
From:      Remy NONNENMACHER <remy@synx.com>
To:        didier@omnix.net
Cc:        hackers@FreeBSD.ORG, support@yard.de
Subject:   Re: Yard/FreeBSD problem (fwd)
Message-ID:  <199808211148.MAA18508@bsd.synx.com>
In-Reply-To: <Pine.BSF.3.96.980821114024.4540A-100000@omnix.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 21 Aug, Didier Derny wrote:

Didier,

In an unmodified kernel (prior to sysctlized delayed_ack), the delayed
ack is always turned ON and the 101-207 bytes problem exists.
TCP_NODELAY option helps the following way :

case TCP_NODELAY OFF :


T    Application           TCP-client       TCP-server       DBMS

0    write(...., 150) ---> packet(100) ---> packet(100) -->  read()=100
                                                 |
                                           (delay 200ms)
                                                 |
                             ack       <---     ack
                              |
                           packet(50) ---> packet(50)   -->  read()=50
                                                                 |
X    read()=<n>      <---- packet(n)  <--- packet(n)+ack <--  DB-reply(n)


in the case, X= 200ms + epsilon (epsilon = neglected net+DBMS+internal
processing time).


case TCP_NODELAY ON :

T    Application           TCP-client       TCP-server       DBMS

0    write(...., 150) ---> packet(100) ---> packet(100) -->  read()=100
                           packet(50)  ---> packet(50)  -->  read()=50
                                                                 |
X    read()=<n>      <---- packet(n)  <--- packet(n)+ack <--  DB-reply(n)

Now, X=0 + epsilon = epsilon.


If you still have the problem, we can be almost sure that TCP_NODELAY
*is* OFF on one or either side. (I don't remember having been said that
it must be ON on *either* side, BTW).

Having the 101-207 bytes problem resolved needs a kernel modification
and a great ancient aprobatur. If nobody takes on it, i offer to (as i
run on it very often and it tires me). Anyway, this doesn't match your
requirement of running with an old kernel version.

Yard told you that they checked this TCP_NODELAY option against
inheritence reseting. If a last chance Yard's code review doesn't
reveal a problem (accepte()d, fork()ed, etc....), I offer to analyse
two tcpdump trace of the same session: one from you and one took on the
machine at Yard, then review kernel codes of the two FreeBSD versions
you (and yard) use.

(Note to Yard: thanks for supporting FreeBSD).

RN.

> Hi,
> 
> I still have many problems with Yard/FreeBSD.
> 
> I sent my programs / database to Yard last wednesday.
> they did some testing on their version (FreeBSD 2.1.6)
> It worked really fine except for a few slow down.
> 
> (for him 350 seconds on a pentium 133)
> 
> For me on 3.0-980594-SNAP and FreeBSD-2.2.5-STABLE
> it's still unusable (I stopped the program after
> 25 minutes on a Pentium II 333).
> 
> We are writing some application that we are planning to 
> bundle with the Yard SQL engine. 
> 
> I can't imagine that I would have to tell my clients that
> to run our applications they have to install the FreeBSD 
> source code and modify the kernel and rebuild it.
> 
> do you have any idea on how we could definitively solve this
> problem for 2.2.X and 3.X versions of FreeBSD ?
> 
> --
> Didier Derny
> didier@omnix.net
> 
> 
> 
> ---------- Forwarded message ----------
> 
> I ran your program on our system and it shows a similar behaviour as you 
> describe. Below is the vmstat output, which indicates the hanging moments with
> an idle time of > 50%. But these moments don't seem to be that awful.
> In total your program took 350 seconds on a 133 MHz Pentium.
> 
> If the reason for this behaviour is in fact the 100 byte problem mentioned by
> one the FreeBSD guys, the only possible way to solve it would be to
> set ack_delayed=1 (in the kernel?). Anything we at YARD can do?
> 
> Regards
> 
> Thomas Schonhoven
> 
> PS.: I'll be back in office on Friday.
> 
> 
> $ vmstat 2 200
>  procs   memory     page                    disks         faults      cpu
>  r b w   avm   fre  flt  re  pi  po  fr  sr s0 s1 c0 f0   in   sy  cs us sy id
>  3 0 0 79484 34224    9   1   0   0   6   0  2  0  0  0  233   54  13  1  0 98
>  2 0 0 83792 34088   19   9   0   0   0   0 21  0  0  0  350 4815 1618 66 29  5
>  1 0 0 83956 33924   21   4   0   0   0   0  3  0  0  0  341 5120 1736 67 31  1
>  2 0 0 84096 33772   22  18   0   0   0   0  3  0  0  0  333 4983 1686 72 26  2
> ......



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808211148.MAA18508>