I have recently set up this old Beagleboard-xM as a multi-purpose home server. Overall, it seems to really keep up with everything, except file transfers over the network. At best, I'm getting 2MB/s for either SMB or SFTP, but I know I should easily be getting 3-5x more than that. CPU usage tends to remain below 50% at any given time during the file transfers.
For a little background of anyone who doesn't know, this has a single USB host port that is split up into 4x ports and a USB-based 100Mbps Ethernet jack. I have a 1TB HDD connected via USB, which is primarily what I attempt to transfer the files to.
When using iperf, I am getting up to 94Mbps, which confirms that the network connection is not the issue here. According to hdparm, I'm getting roughly 18MB/s. Not amazing, but considering "megabit" Ethernet has a maximum transfer rate of about 12.5MB/s, the hard drive is obviously fast enough. If I run both at the same time, the Ethernet drops to 90Mbps and the HDD drops to 16.28MB/s - both of which are still fast enough where the USB controller should not be a bottleneck.
As another test, I tried doing scp, from the server to another PC, and I was getting transfer rates around 6MB/s. Not great, but it's all I really need.
Any ideas why these other protocols are running so slow?