QNAP TS-639 Pro Turbo NAS Part 5

Still on my quest to performance with my awesome QNAP TS-639 Pro Turbo NAS, today let me post some of my test results and tuning tips.

In a previous post I gave you some tips to tune up iSCSI, now I’ll give you some tips to tune up the network interface and TCP/IP stack of your QNAP NAS.
The default maximum Linux TCP buffer sizes are waaaay too small, echo these new values:

echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max
echo 4096 65536 16777216 > /proc/sys/net/ipv4/tcp_rmem
echo 4096 65536 16777216 > /proc/sys/net/ipv4/tcp_wmem

Check if you are using an e1000 driver: ethtool -i eth0
And if you do increase the number of descriptors by adding this to /etc/modprobe.conf:
alias eth0 e1000
options e1000 RxDescriptors=4096,4096 TxDescriptors=4096,4096

A reboot is necessary since modprobe.conf is read at boot. To verify that this worked: ethtool -g eth0
Increase TCP throughput by increasing the size of the interface queue: ifconfig eth0 txqueuelen 1000

echo 0 > /proc/sys/net/ipv4/tcp_timestamps
echo 1 > /proc/sys/net/ipv4/tcp_sack
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling

You can edit /etc/rc.local, or /etc/boot.local depending on your distribution so the parameters get automatically re-applied at boot time.
Another method to reapply the values is to include the following in your /etc/sysctl.conf. Execute sysctl -p to make these new settings take effect right away.
Note that echoing to /proc is volatile, any changes you make there are lost after reboot!

I’m using IOzone 3.321 which is a very powerful filesystem benchmarking tool. It can export the results to a binary format spreadsheet file that you open with Excel to creat great looking 3D graphics. To avoid any disk latency and bottleneck, I use the memory to create some sort of temp file from where IOzone works from. You do that by using the -g 2G parameter.

So basically you have enabled NFS and you have created a NFS share with the appropriate access rights on your QNAP device. On the client side, in my case a Dell lappy running Windows 7 Ultimate x64bit, you have mounted the NFS share. Now here is the IOzone command I have used to generate the load: iozone -Ra -g 2G -b output_nfs.wks

FYI for my tests I have setup my 2 WD VelociRaptors in RAID0. Read my blog post part#2 for more nfo about the disks.

WOW look at the IOPS +700!

Note to install DSTAT to your QNAP, you need first to install the Optware IPKG (Itsy Package Management System) then SSH in your device, navigate to /opt/bin  and use this command:
./ipkg-opt install http://ipkg.nslu2-linux.org/feeds/optware/ts509/cross/stable/dstat_0.6.9-1_i686.ipk

A list of all interesting IPacKaGes available can be found at ipkg.nslu2-linux.org. Use it at your own risk!!!

Thats it for part#5, stay tuned for #6 with more 3D graphs from IOzone benchmark results and 2D graphs from HD Tune PRO 🙂


About PiroNet

Didier Pironet is an independent blogger and freelancer with +15 years of IT industry experience. Didier is also a former VMware inc. employee where he specialised in Datacenter and Cloud Infrastructure products as well as Infrastructure, Operations and IT Business Management products. Didier is passionate about technologies and he is found to be a creative and a visionary thinker, expressing with passion and excitement, hopefully inspiring and enrolling people to innovation and change.
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to QNAP TS-639 Pro Turbo NAS Part 5

  1. deinoscloud says:

    Note that on my QNAP TS-63 I could not find /etc/boot.local neither could I find /etc/sysctl.conf and /etc/modprobe.conf. Thus have to so far echo to /proc which is volatile. Also FYI the txqueuelen is already at 1000 for a TS-639.

  2. Pingback: QNAP TS-639 Pro Turbo NAS Part 6 « DeinosCloud

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s