Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Aug 1998 11:07:23 +0200 (CEST)
From:      Didier Derny <didier@omnix.net>
To:        support@yard.de
Cc:        hackers@FreeBSD.ORG
Subject:   network problem with FreeBSD/Yard (yardnetd)
Message-ID:  <Pine.BSF.3.96.980812110547.2406G-100000@omnix.net>

next in thread | raw e-mail | index | archive | help
Hi,

I've a strange problem with yard.

A/ Symptoms/Investigation
-------------------------

1/ I was using yard with ESQL without yardnetd and everything worked fine.

2/ I started using DBI::YARD in perl (requires the use of yardnetd)
   then everything went wrong (I suppose that this problem is the same
   than for the odbc delay in september/october 1997).

3/ While using Yard from Perl on a very large and badly designed database,
   I'm only able to read 1 row /s even on a pentium II, with fasts disks.
   Everything was ok on the sql side, nothing in the logs except that
   Yard was extremely slow.

4/ I started to check everything in the Yard configuration to see if  
   there was dome deadlock or lack of resources... Nothing!
   then I started to think that it was a network problem, so I checked
   everything on the BSD side (lo0). It worked fine.
   my conclusion was that yardnetd and perl/dbi were waiting each other
   due to a timeout somewhere. nothing in perl/dbi:yard.

5/ I started to check in the "demon book" "BSD 4.4 design and
   implementation" and discovered on pages 470/471 that the ACK could be
   delayed to avoid sending empty or almost empty packet.
   (the book was saying "bottom of page 471" that X11 was setting the 
   TCP_NODELAY option to avoid this delay).

6/ I checked in freebsd (3.0 may) how I could disable this mechanism.
   I played with sysctl -a and discovered a ...ack_delayed=1 parameter
   and tried to put it to 0. (then everything worked fined with yard
   and the 8000 records database was (read/reorganized/reinserted) in
   a few seconds when it took hours before.

7/ I'm not using 3.0 at the office but 2.2.5 where this parameter is
   not present. so I made an awful hack replacing DELACK by ACKNOW in
   tcp_input.c and tcp_output.c. I got the same result and yard work.
   
B/ Solution ?
-------------

1/ I suppose that a setsockopt(socket... TCP_NODELAY..)
   would have the same result for the yard application if it was 
   inserted in the yard code ?

2/ what are the implication of setting ...ack_delayed=0 for the system ?

3/ What should I say to Yard to have this problem solved ?
   
I hope that Yard will be able to sove this problem quickly, 
Yard is a very reliable and efficient database.


Thanks for your help

--
Didier Derny
didier@omnix.net




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?Pine.BSF.3.96.980812110547.2406G-100000>