People have continued to provide answers and suggestions based on the issues I expressed in my earlier post, which you can find here to get caught up. I thought I would give a recap of the things that I have tested, discovered, and fixed, and pose a few new questions.
Some Samba Notes
There were a few who suggested that perhaps running a Samba server would be a little too much for the Raspberry Pi. I've been monitoring the load on the Raspberry Pi, and having it as my Samba server isn't putting too much on it (far from it).
There was a post that suggested that the Raspberry Pi, and not Samba, was to blame here. The high-speed IO (ethernet and USB) share a single integrated USB 2.0 hub and it was believed to be a bottleneck, but when I'm getting 3MB/s even if it were an IO bottleneck, USB 2.0 speeds would surpass that of 6MB/s (3MB/s in from HDD, then the same out over the network).
Then I tested it using another desktop lying around. After a proper setup, I noticed the exact the exact same speed.
NFS
I had read many different posts suggesting that NFS would be the best option. From my research, I found that NFS speeds were fantastic, and that it was a much better option for Unix-like systems. Configuring NFS looked really difficult, so I decided to put it off until the day came with I had time to research and configure it properly. Yesterday just so happened to be that day. Before long I had everything working, but I was appalled at the speeds: it wasn't even breaking 1MB/s!
So, at last, I have arrived at a few questions:
1. Are speeds that low fairly common, or do I need to do something to my configuration to make it fast?
2. Is my HDD filesystem the issue between everything I've tried? It's formatted NTFS, would using a more Linux-friendly filesystem like ext4 or btrfs improve the speeds? In that case, would I be able to get better speeds using Samba?