"TeraCopy (which I highly recommend)."
Well that is not something I would agree with or recommend at all - all the testing I have done with that software is does nothing but actually slow down copy operations... Its pointless software!! I would recommend you remove it and test.
Here is the thing, 40MBps is not all that good to start with for a gig network - its ok, not bad.. But it is not good.. Here is a push to my VM nas (win7 x64bit) running on a n40l hp microserver with nothing for specs, with $40 nic on the esxi host. And built in nic my OLD i5 dell 8300.
For starters I would suggest what you can do on the wire, maybe your disks are the bottleneck - you say large files - this was 1.2GB file - are you moving lots of little files vs 1 large one that add up to a large xfer?
What is your actual wire speed from B to C taking the disks and file copy protocol out of the picture - what does say iperf show? I just posted up a copy of 3.0.9 for windows in another thread couple weeks back. http://www.neowin.ne...-windows-build/ You can grab it for your linux sure its out there already. So here is testing from my workstation to my nas.
Work is the client.
Nas is the client
As you can see over 900mbps each way.. Which works out to 900/8 = 112MBps without any overhead, no disk slow downs, etc.. 40*8 = 320mbps, which is not very good for gig network to be honest. But sure it could be your switch, could be your samba config? Could be lots of things.. So quick test lets see what you can get on your wire. Then lets try and get that speed up to something respectable for a gig network
So here is a quick copy of video from my nas to my workstation - large 2.6GB file, over 100MBps.. This is with budget hardware!!
Now my switch is a bit pricy for home budgets, $200 cisco sg300.. But I saw these speeds when running on a netgear gs108t as well.. But still within home budget range..
Here is where your run into an issue even after we get your speeds up to something more where it should be.. You should be seeing 50MBps write for sure, and over 70 read even with the lowest budget stuff.. If not better your still going to run into a problem with doing multiple operations at 2 different speeds.. Your trying to read from B and send it to C, while at the same time write to the disk on B from A at a much slower speed of 100mbps, which is more like 90ish..
Can you get your A connected at Gig? This would help with overall speeds - but your still going to have issues doing read and write to the disk at the same time going to be a hit on your B system.
But lets work on your network wire speed first!! On gig lets try to get your iperf results over 700mbps for sure..
edit: Just for ref info
My workstation is 192.168.1.00, my VM acting as my storage/nas is storage.local.lan, 192.168.1.8. My workstation has 2 mapped drives M and Z to the VM, M drive is where I store all my home video, and z is where I store other media and other files, etc. The workstation is an old dell XPS 8300, nic it came with. The esxi host 5.5 build 2143827, nic is HP 412648-B21 NC360T PCI-Express DP GigaBit Adapter which I picked up for like $40, its a dual port card.
Here is the vm on esxi that is my nas/storage box
I only gave it 1 cpu, and 2GB of ram running with all those other vms on N40L, which cpu is AMD Turion II Neo N40L 1.5GHz 2-Core. Your not talking rocketship hardware by any sense of the imagination