I bought a QNAP TS-109 with the intention of using it as a linux server (DNS, DHCP, www, vpn, ssh, file, mysql). The QNAP comes with its own (very nice) linux based firmware, but my plan was to run Debian on it. However, performance seemed not so good (found something on Google about missing DMA Engine in the kernel), so I decided to do some benchmarks before picking Debian or qnap firmware.
The harddrive is a Samsung 2TB drive (so those one works). All tests are made with a 500 Mb mpeg-file (high entropy). The server is a Mac OS X machine.
The commands used are:
#nc qnap$ nc -l -p 9999 > nc-500Mb.img mac$ time nc 192.168.0.21 9999 < 500Mb.img #scp qnap$ time scp firstname.lastname@example.org:500Mb.img scp-500Mb.img #md5sum qnap$ time md5sum nc-500Mb.img #cp qnap$ time cp scp-500Mb.img cp-500Mb.img
nc scp md5sum cp Debian 6.0 btrfs 87s 273s 40s 71s ext3 73s 284s 22s 39s ext2 59s 273s 22s 27s Debian 5.0 ext3 81s 259s 23s 40s ext2 62s 246s 23s 26s Qnap FW N/A 394s N/A 27s
The commands nc and md5sum was not available in the qnap firmware.
Bricking, and recovery
I made a mistake when making backup of the original qnap firmware. So, when intending to restore the qnap firmware over Debian, I ended up making the qnap unbootable.
Another mistake was to not follow good advice; they tell you very clearly to "install recovery mode" before trying Debian.
I got a USB to 3.3V TTL serial cable and tried to revive it. It worked using these instructions 🙂 I ended up doing some soldering inside the qnap.
My advice: when you backup /dev/mtdblocks, make a simple cmp to verify that the file you created matches the block you intended to backup. Much quicker than realising later that recovering old OS actually bricks you machine.
As I see it, there are no performance reasons to use the Qnap firmware with the Qnap. Debain seems to be equally fast. Still, both are surprisingly slow - do I have a hard drive incompability issue?
After deploying Debian, I can say that real world performance for rsync (mostly large files) is just over 5 Mb/s.