(Illustration by Gaich Muramatsu)
On Thu, Jan 30, 2003 at 03:39:44PM +0100, Vojtech Moravek wrote: > Yesteraday i wrote some problems with slow write operations. I made some > tests and results is: > > When coda run on computers which have only one cpu. Everything is cool. > When is CODA installed on twoCPUs computer I have problem with write > operations.. more describes are bellow: It must be some timing issue. When I write a 1MB file in connected mode to 2 servers (servers are PII-200, client is PIII-1000) jaharkes_at_ravel$ time dd if=/dev/zero of=foo bs=1024 count=1024 1024+0 records in 1024+0 records out real 0m0.760s user 0m0.000s sys 0m0.010s When I do the same operation in write-disconnected mode it completes almost instantaneously. jaharkes_at_ravel$ cfs wd . jaharkes_at_ravel$ time dd if=/dev/zero of=foo bs=1024 count=1024 1024+0 records in 1024+0 records out real 0m0.042s user 0m0.000s sys 0m0.010s We should probably figure out where the time is lost. Force a write-disconnect and write the file. That should really take no time at all. Then reconnect (cfs wr) and do the operation while running vmstat 1 in a second terminal. That should show whether we're hogging the CPU, or trashing the disk, or simply using too much memory and forcing the machine to swap too much. Oh, and dual CPU should theoretically be better, because the application and venus are not fighting each other over the same CPU. If it weren't the fact that your worst cases are client & server on the same machine, I would have suspected network related problems. The only thing I can think of right now, is that RVM modifications use fsync to force changes to disk, and I've noticed before that fsync on Linux is extremely slow when there are a lot of dirty buffers waiting for writeout, and that heavy writeout activity stalls read/page-in operation significantly. JanReceived on 2003-01-30 15:08:07