Friday, February 19, 2010

NFS write performance

In prior posts, I've complained about the poor NFS write performance I've seen. A bit of research later, I've discovered that it's because OpenSolaris is strict about syncing NFS writes to disk (ref: NFS and ZFS, a fine combination)

There are ways to improve the time (ref: Disabling the ZIL, Don't) but the prevailing view is to put the ZIL on a separate device from the main ZFS data. I decided to give it a try using a 16 GB Sony USB flash disk.

I couldn't get it to work because the flash drive kept getting ZFS errors (ref: Bug 14676 – ZFS pool fails on Sony USB Flash drive - device disappears during use). A different flash drive worked but was too slow to help as a separate log device. Maybe I'll have to break down and buy a SATA flash drive. In the mean time, SMB is working out.

Saturday, February 6, 2010

OpenSolaris Realtek Network Interface Redux

In my last post, I tried using the "gani" driver for my Realtek RTL8111/8168B Gigabit network interface. In OpenSolaris bug 6892693, they patched the original driver so I decided to try the update.

I switched to the development repository but I couldn't find a way to get the package system to install the rge driver by itself. I set up another boot environment for the entire dev tree and updated to rev 131. I played around a bit with the dev boot environment but it was too buggy for me. I then copied /kernel/drv/rge and /kernel/drv/amd64/rge back to my stable boot environment and replaced the original rge drivers.

The new drivers worked reliably but didn't help the NFS transfer rate. I did find that scp (secure copy over ssh) clocked in much faster at 22 MB/sec. so I decided to set up SMB file shares.

If you haven't already bought it, the OpenSolaris Bible has great history and timesaving advise for setting up SMB and other parts of OpenSolaris. Using Sun's kernel implementation of SMB, I also got 24 MB second. I have to see if I can find tuning advise for NFS.