The objective was to measure the speed of filesystems on the router with OpenWrt excluding the impact of other factors as much as possible. My TP-Link WR1043ND runs OpenWrt Backfire 10.03.1-RC4. Kernel version: 188.8.131.52-1.
As an external USB-drive I used Samsung HD204UI connected to the router via SATA-USB controller based on Prolific Technology PL3507 chip. About 15 partitions with different FS and 1GB in size were created with the default settings. For comparison I also made a read/write test with unformatted partition – this rate can be considered as the limit of the hardware, because not any FS-driver is involved in this case.
As benchmark tool full version of dd was used. Thus the resources of the router were not spent on data transmission over the network and the corresponding server. To minimize source file read/write expenses on the router side, /dev/zero and /dev/null weer used, respectively. Multiple tests with a file of 800 MB on Ext2 gave 3% spread only so this file size was used in all tests subsequently. All filesystems were tested with 2 values of the read/write block size: 4 KB and 2 MB.
For the purity of the experiment unnecessary services and servers were unloaded for benchmark time; no router accesses except for SSH took place. In this state, the average CPU Idle was 99.7%.
The results are shown in the graphs. In some cases, the mount options mentioned.
In all tests the CPU Idle was 0% (measurements were performed on another iteration, as it might influence the results).
Reiser4, UFS, JFS, ZFS are not supported by OpenWrt, so not tested.
Hope this test will be useful for someone.