I/O speed to CIFS mounted Windows Share

I have an AIX box that mounts a Windows share across subnets. When I try to copy a 100 MB file to it, it copies around 2 MB/s. If I copy to another Windows share on the same subnet it copies around 12 MB/s. All I have is gigabit networks so I would expect it to go well over 12 MB/s, which is the theoretical limit for a 100 base T network.

I'm testing by watching "topas" output in one window and doing this in another.

Copying across different subnets:

# lmktemp afile 100000000
afile
# time cp afile /mnt

real    6m1.49s
user    0m0.10s
sys     0m2.60s
#

Copying on the same subnet:

# ls -l afile
-rw-r--r--    1 root     system    100000000 Jan 16 00:36 afile
# time cp afile /mnt

real    0m11.67s
user    0m0.04s
sys     0m0.97s
#

Can someone else try this on one of your boxes and see if yours goes any faster? My AIX box is running AIX 7.1 TL1 SP2 and I believe the Windows server is running 2008.

You could check at what speed the adapter is set with netstat -v or entstat -d <ent> . If it is on auto-negotiation, you could try setting it to fixed speed as well as setting the same fixed speed at it's switch port. Maybe it switches speed due to auto-negotiation.

This is on an LPAR behind a VIO server. The VIO server is set to auto-auto and hasn't had any problems. In fact, between two different physical machines, I've seen transfer rates over 100MB/s. I think it is something in the CIFS fileset but I don't have any way to prove it. That is why I was asking for someone else to try it and see if they get similar results.

What precisely are you using to bridge your gigabit networks together?

Our small work fileshare suffered chronically low speed even though our cabling and switches were all supposed to be gigabit rated. But one of our cheaper gigabit switches turned out to not be transferring at gigabit speeds even though it negotiated at 1000baseTX-FD. It cheated by spamming "pause" packets whenever network performance threatened to exceed 100baseTX transfer rates. It was a dlink product, of course. When we replaced it, everyone was amazed at the improvement.

I tracked it down by using ethtool to show how many pause packets were happening. I don't know the AIX equivalent but it's something to look for.

Corona688, when you had this issue, did it affect everything (like FTP, SSH, etc.) going across the connection between your two servers?

Almost certainly. CIFS is what we noticed problems with since we share enormous digital camera photos over it.

I have a Linux laptop that I can plug in to the same switch as my AIX boxes and run the ethtool from it. Do you remember the ethtool command syntax you used and what specifically you looked for?

$ ethtool -S lan
NIC statistics:
     tx_bytes: 21380238224
     tx_zero_rexmt: 22949902
     tx_one_rexmt: 0
     tx_many_rexmt: 0
     tx_late_collision: 0
     tx_fifo_errors: 0
     tx_carrier_errors: 0
     tx_excess_deferral: 0
     tx_retry_error: 0
     rx_frame_error: 0
     rx_extra_byte: 0
     rx_late_collision: 0
     rx_runt: 0
     rx_frame_too_long: 0
     rx_over_errors: 2
     rx_crc_errors: 809
     rx_frame_align_error: 0
     rx_length_error: 0
     rx_unicast: 80133796
     rx_multicast: 70099
     rx_broadcast: 922636
     rx_packets: 81126531
     rx_errors_total: 811
     tx_errors_total: 0
     tx_deferral: 0
     tx_packets: 22949902
     rx_bytes: 100320558664
     tx_pause: 0
     rx_pause: 0
     rx_drop_frame: 59
     tx_unicast: 6062140
     tx_multicast: 2204304
     tx_broadcast: 16550392661358
$

I custom-renamed my network card to lan with a udev rule, yours would likely show up as eth1 or similar. I think rx_pause was very very high due to the cheating switch. If your laptop doesn't have a gigabit ethernet port, you won't see it at all.

Of course, this being switched traffic, you may not see any of that unless the traffic is between the linux machine and the AIX host, rather than between different hosts..

I plugged my Windows XP laptop into the same gigabit switch my AIX boxes are plugged into and when I map my Windows share from my AIX box, I can still only transfer 2 or 3 MB/s. It is negotiating the something wrong at the protocol level.