Subject: Re: [netatalk-admins] Slow write performance on FreeBSD 2.2.5, 1.4b2

From: "Stefan Bethke" <[email-masked]>
Date: Fri, 27 Feb 1998 10:42:30 +0100

--On Die, 24. Feb 1998 0:58 Uhr -0500 [email-masked] wrote: 

>> From:    Bill Studenmund <[email-masked]>
>> To:      Gary Teter <[email-masked]>
> 
>> On Sat, 21 Feb 1998, Gary Teter wrote:
>> > Someone suggested changing the definition of ddp_recvspace in 
>> > sys/netatalk/ddp_usrreq.c to a higher value, so I changed it to 50 *
600.
> 
>> Doh! That kills my favorite suggestion!
> 
> The normal value of ddp_recvspace, 10 * X, is enough for the eight
> packets you'll get back from an ATP transaction, plus a couple more for
> extra space.  Each time this buffer is overflowed, there's a statistics
> block that gets updated, ddps_nosockspace, which your favorite BSD unix
> ought to return as output of netstat -s.
> 
> Generally speaking, you should never see this...

I thought this, too. Look at a packet dump and you'll see the finder is
regularly checking (with AFP 2.1, that is) for volume and folder info, even
while doing something else. Sometimes, these requests overflow the buffer,
so upping this number to 20 or 30 generally helps.

Stefan

--
Stefan Bethke
Promo Datentechnik      |  Tel. +49-40-851744-18
+ Systemberatung GmbH   |  Fax. +49-40-851744-44
Eduardstrasse 46-48     |  e-mail: [email-masked]
D-20257 Hamburg         |  http://www.Promo.DE/

---

From: "Stefan Bethke" <[email-masked]>
Date: Fri, 27 Feb 1998 10:52:18 +0100

--On Mon, 23. Feb 1998 13:47 Uhr -0800 "Bill Studenmund"
<[email-masked]> wrote: 

>> I'm having troubles with my installation of netatalk-1.4b2 on FreeBSD 
>> 2.2.5: 
>> 
>> Read performance from the server is great, but write performance is 
>> really, really lousy. The client is a PowerMac 604e/200 clone, 10baseT 
>> network. (Actually on a large file it's great for the first 1.8MB or so, 
>> then it seems to pause for big chunks of time.)

Sounds like you're running NT :-)

Please be a bit more specific about what "slow" means. Generally, you should
see numbers around 500 kBps for reading and 600 for writing.

You can use Helios LanTest to check, available as 
ftp://ftp.helios.com/pub/utilities/LanTest-2.0.1.sea.hqx (also via AFP/TCP)

Try the same from a terminal session using dd. Check what the server and the
network are doing during these pouses.

Stefan

---

From: Gary Teter <[email-masked]>
Date: Fri, 27 Feb 98 15:15:14 -0800

>see numbers around 500 kBps for reading and 600 for writing.

Sorry for the imprecision! I posted that at the end of a loooong day. 
Here's some better information:

The machines:
     Morris - Pentium 166, 72MB RAM, FreeBSD 2.2.5 appletalk kernel 
patch, netatalk-1.4b2 no patches
     Lilith - PowerCenter Pro 210 Mhz 604e, 128MB RAM, 4096K disk cache, 
VM on, Sys8.
     BeastieBoy - APS 200 Mhz 604e clone, 128MB RAM, 7680K disk cache, VM 
on, Sys8.
     Jane - Quadra 605 (33 Mhz 680LC40), 36MB RAM, 7680K disk cache, VM 
off, Sys8, SpeedDoubler 8's speed copy server on.

Using the same 47MB file for each test. 10baseT network. Morris, 
BeastieBoy and Jane are all on same hub; Lilith is on another hub 
uplinked to the first hub. There are other Macs on the network but none 
were being used during these tests (ie, personal filesharing on, drives 
mounted, but no files being actively read or written).

(sd) means SpeedDoubler 8, faster network copy on, use tcp/ip if avail. 
on.

Lilith copy from Lilith(sd) to Morris: 480KB/sec <-- this is OK!
Lilith copy from Morris to Lilith(sd): 470KB/sec - 485KB/sec <-- so is 
this
Lilith copy from Lilith(sd) to Jane: 215KB/sec - 250KB/sec <-- just for 
laughs

Lilith copy from BeastieBoy(no sd) to Lilith(sd): 370KB/sec
Lilith copy from Lilith(sd) to BeastieBoy(no sd): 410KB/sec
Lilith copy from BeastieBoy(sd) to Lilith(sd): 640KB/sec

BeastieBoy copy from Morris to BeastieBoy(sd): 520KB/sec - 570KB/sec

So far all these figures are well within tolerance for not using TCP/IP. 
But this next one is the one I was asking about:

--> BeastieBoy copy from BeastieBoy(sd) to Morris: 
Starts at 265KB/sec. After 1MB transferred, throughput drops to about 
16KB/sec(!) Transfer seems to go in chunks separated by pauses. I 
observed this same behavior with SpeedDoubler 8 turned off (but without 
the throughput numbers because the standard Sys8 Finder copy doesn't give 
throughput values).

By the way, using Timbuktu Pro 4.02's copy via TCP/IP, Lilith can read 
the same file from BeastieBoy at 970KB/sec - 1020KB/sec. 

Maybe when I get asun's patches running I'll see similar performance from 
Morris.... that's my next project. (The project after that is to install 
a 100baseT card in Morris and replace the hubs with a 10baseT+100baseT 
switch...)

Any suggestions? I'll be rewiring the network this weekend and changing 
hubs around (because we're moving to a new office, not because I've got 
too much free time on my hands :-) so I'll see if that helps.

--
Gary Teter, Landless Peasant
Bulldog Beach Interactive http://www.bulldogbeach.com

---

From: "Stefan Bethke" <[email-masked]>
Date: Mon, 02 Mar 1998 10:21:07 +0100

> the throughput numbers because the standard Sys8 Finder copy doesn't give 

Problem in the network cabling or one of the hubs, I guess.

> too much free time on my hands :-) so I'll see if that helps.

Thats probably a good idea.

Stefan