Subject: Performance problem with multi-user

From: "Jason Lam" <[email-masked]>
Date: Mon, 1 Oct 2001 20:24:42 -0400

I am trying to build a high performance netatalk server for serveral Mac
clients. The initial test with single clients yield more than 10MB/s which
was amazing. However, when testing with multi concurrent user, the test
results are not very impressive.

On Linux server side, I have an Adaptec 29160 controller hooked up with an
IBM 10K 36G HDD running at 160MB/s. When doing hdparm, I got the following
results.

/dev/sda1:
 Timing buffer-cache reads:   128 MB in  0.99 seconds =129.29 MB/sec
 Timing buffered disk reads:  64 MB in  1.88 seconds = 34.04 MB/sec

This mean I should have enough I/O performance for two concurrent user to be
going full speed. And I have a gigabit ethernet card hooked up to a switch.

On the Mac side, it's G4 and 10/100 network card.

When doing concurrent download, both clients login with same username and
download different files. I only get about 5.7MB/s on each one which is like
a 10/100 shared performance. I was thinking about problem with gigabit
network interface at that point, so I did another test, created another user
whose home dir is on another IDE HDD. (Similar result when testing on IDE
drive alone) When I do the concurrently download, I am able to get about
10MB/s from each of the workstation.

This tells me I am not having problem with the network card but some other
multi-user problem with regard to I/O on a single device. BTW, kernel
version is 2.4.9 and netatalk is 1.5pre6.

Can anyone suggest where to start performance tuning this server? Did I miss
anything plain and stupid (my setup are pretty much stock). A few things
that came to my mind is bdflush and elvtune, can anyone supply some example
settings that works great with netatalk?

Any suggestions to tuning the performance of this server will be greatly
appreciated.

Jason Lam

---

From: Matthew Keller <[email-masked]>
Date: 01 Oct 2001 21:14:38 -0400

Few things: 
	1) 2.4.9 kernel + Ext2fs (which I'm assuming you're using) has some I/O
issues **ESPECIALLY** if you've got quota's enabled. Try disabling
quotas if active. Also, upgrade to 2.4.10 when possible.
	2) Is sda1 your root disk? Performance will always be worse on those
because of other I/O ops related to running the OS (esp if X is running)
	3) Try the same tests using a different protocol (HTTP, SMB) -- If
other servers serve the same concurrency at better rates, or not, it
tells you something. This is comparing apples and oranges (excuse the
pun) but the statistic ratios should be nearly the same.
	4) I hope you're using ASIP to do this transfer and not AppleTalk -- If
not, please do.

-- 

Matthew Keller
Enterprise System Analyst
Computing & Technology Services
Information Services Division
State University of NY at Potsdam
Potsdam, NY USA

http://mattwork.potsdam.edu/