I posted back in January about a huge performance gap I was seeing on a
gigabit network when comparing smbfs and smbclient operations. I was
advised to try CIFS, which I did. I didn't make much difference and I
gave up and switched to NFS.
Recently, however, I noticed something odd. If I move files separately
across my smbfs mount, things go MUCH faster. Here's an example.
I mount my remote Samba share to /mnt/samba. I copy a 100mb file from my
local drive to /mnt/samba (sending it via SMBFS to the other machine).
Here's what I get:
europium Temp # time cp file-100mb /mnt/samba
real 1m2.621s
user 0m0.001s
sys 0m0.399s
Next, I open a second terminal. This time, I'm going to copy two files
to the same share at the same time. I copy a new 100mb file from my
first terminal window and another 100mb file from my second window.
Here's what I get:
WINDOW 1
--------
europium Temp # time cp file1-100mb /mnt/samba
real 0m10.659s
user 0m0.004s
sys 0m0.342s
WINDOW 2
--------
europium Temp # time cp file2-100mb /mnt/music
real 0m10.558s
user 0m0.000s
sys 0m0.381s
I just transferred twice as much data in 1/10 the time by moving two
files at once (though in separate operations). Just out of curiosity, I
decided to perform the same task with Gnome's nautilus file manager. It
has nice graphical progress bars that make it easy to see how things are
progressing.
When I use drag & drop to move the first file, I get a progress box
that's creeping along and showing a little over 1 minute to completion.
The instant I drag & drop the second file, the first progress bar begins
flying and shows only a few seconds to completion. The second bar also
moves quickly and shows only a few seconds to completion...right up
until the first one finishes. As soon as it does, the second operation
slows to a crawl, taking another 22 seconds to finish.
What's going on here? I don't have the slightest idea where to even
begin trying to troubleshoot this strange behaviour...