crishna - I like your approach - you're thinking.
I'm going to post an image that I'd like you to think about - the only thing it has in common with yours, is the Window's networking graph, which displays significantly higher throughput - 27 MB/sec - apparently my CPU can handle twice the throughput that your can.

This is a composite of three screen captures assembled in MS Paint, because I couldn't capture all three images in one shot.
The background is an SNMP graphing tool called PRTG (www.paessler.com), it reads the bandwidth figures from my network switches, the one that's open is the graph from the switch port that feeds my DNS-323.
Directly below that is the output from a little utility called NASTester - if you search the DNS-323 forum, you should find a link to another site that you can download it from. Basically what it does is create a test file, of a size that you choose (up to 2GB) on a local drive and then measure the time it takes to transfer it across the network to a mapped drive, it then calculates the average transfer speed and displays it - you can tell it how many iterations and it will loop as required and list each run and then give you the average, and then it reverses the two end points and repeats, so you get both write speeds & read speeds.
To the left of that is the WIndows task manager showing roughly 25% throughput on a 1GB connection.
Sorry, I don't have shell access to the DNS-323, so no cpu utilization..
The point here is you could get better speeds than you're getting - you need to figure out why you DNS-323 won't deliver.