So I finally switched from smbclient to NFS. For the longest time smbclient had been giving me Gigabit-like writes (~70MB/s), but Fast-Ethernet-like reads (7MB/s), and I could never figure out why.
Today, with some Wiresharking, I finally narrowed down the issue: READ ANDX packet sizes being limited to 4096 bytes for any samba transfer between my home server and desktop (both running on Arch, kernel 2.6.38, smbclient 3.5.8-2). No amount of tweaking for any option, including but not limited to SO_*BUF, succeeded in changing the negotiated packet size to anything higher than 4096.
The last time I used NFS, it gave really bursty transfer performance, which left me rather displeased. The reason for that is now determined to be a sub-optimal mdadm/disk configuration (see previous post). With raid performance closer to what it should be, I am getting more consistent NFS transfer performance: 70MB/s reads, 100MB/s writes. A bug in the r8169 realtek driver module (firmware rtl_nic/rtl8168d-1, rtl_nic/rtl8168d-2) left me with a system that crashed on any network file transfer, so I used the r8168 driver instead.
# mv /lib/modules/2.6.38-ARCH/kernel/drivers/net/r8169.ko.gz /lib/modules/2.6.38-ARCH/kernel/drivers/net/r8169.ko.gz.bkCheck that eth0 is using the correct driver:
# yaourt -S r8168
# modprobe -r r8169; modprobe r8168
# depmod -a
# mkinitcpio -p kernel26
# ethtool -i eth0Then add r8168 to the MODULES() list in /etc/rc.conf.
0 comments:
Post a Comment