This thread has grown out of my build thread in the Hardware section. I will be using this post to display testing results. Please speak up if you see anything that might help!
After building my new FreeNAS box (specs in my signature) I am getting poor CIFS performance. Large transfers start out at 100MB/s and quickly drop to 50MB/s.
First off, some things about configuration and overall setup:
- The FreeNAS motherboard has dual Intel NICs.
- The desktop PC used for testing also has an Intel NIC.
- The switch connecting all of the devices is a Netgear GS108E.
- I have enabled autotune which has added the following settings:
kern.ipc.maxsockbuf= 2097152
net.inet.tcp.recvbuf_max= 2097152
net.inet.tcp.sendbuf_max= 2097152
vfs.zfs.arc_max
vm.kmem_size
vm.kmem_size_max
- I have tested disabling AIO to no effect (it was previously enabled).
- I have increased the MTU to 9000 on the FreeNAS NIC.
Some test results:
- DD tests
- Iperf tests
With default settings I get a consistent 52MB/s between server and client. When I modify the TCP window size in Jperf it instantly jumps to 112MB/s.
I have noticed that during file transfer tests the network utilization on the desktop machine continually spikes up into the 80 - 90% utilization range and then down to 0% and then back up again. When running the Iperf tests the network utilization stays at 99%.
After building my new FreeNAS box (specs in my signature) I am getting poor CIFS performance. Large transfers start out at 100MB/s and quickly drop to 50MB/s.
First off, some things about configuration and overall setup:
- The FreeNAS motherboard has dual Intel NICs.
- The desktop PC used for testing also has an Intel NIC.
- The switch connecting all of the devices is a Netgear GS108E.
- I have enabled autotune which has added the following settings:
kern.ipc.maxsockbuf= 2097152
net.inet.tcp.recvbuf_max= 2097152
net.inet.tcp.sendbuf_max= 2097152
vfs.zfs.arc_max
vm.kmem_size
vm.kmem_size_max
- I have tested disabling AIO to no effect (it was previously enabled).
- I have increased the MTU to 9000 on the FreeNAS NIC.
Some test results:
- DD tests
Code:
[root@freenas] /mnt/volume# dd if=/dev/zero of=testfile bs=1024 count=50000 50000+0 records in 50000+0 records out 51200000 bytes transferred in 0.297915 secs (171861112 bytes/sec) [root@freenas] /mnt/volume# dd if=testfile of=/dev/zero bs=1024 count=50000 50000+0 records in 50000+0 records out 51200000 bytes transferred in 0.122954 secs (416415455 bytes/sec)
- Iperf tests
With default settings I get a consistent 52MB/s between server and client. When I modify the TCP window size in Jperf it instantly jumps to 112MB/s.
I have noticed that during file transfer tests the network utilization on the desktop machine continually spikes up into the 80 - 90% utilization range and then down to 0% and then back up again. When running the Iperf tests the network utilization stays at 99%.