Performance problem with multi-user


Subject: Performance problem with multi-user
From: Jason Lam (lamj@cmgraphics.net)
Date: Mon Oct 01 2001 - 20:24:42 EDT


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



This archive was generated by hypermail 2b28 : Sun Oct 14 2001 - 03:04:54 EDT