yeah, if you have more network throughput than iperf there's many possible reasons including:
1. you invalidated the test because of another limitation in the network hardware.
2. you don't understand the test sufficiently to interpret the results and determine what you did wrong.
3. The test give bogus incorrect numbers and since you know it isn't #1 or #2 it must be an indicator of a network issue.
pseudo #4 - iperf doesn't work
I can tell you that 99.99% of people here don't have the knowledge and experience to prove #1(sad, but true), 99.99% of people will never accept #2 because they always think they know everything or that it can't be so complex they don't already understand it, and everyone assumes it must be #3 or #4 because of their lack of knowledge(no offense to anyone in this thread).
I will freely admit that when it comes to iperf I stick to the standard values because I don't have a good grasp of the deep level fundamentals. The standard values seem to work for everyone in relation to troubleshooting FreeNAS performance issues(which is all I care about in this forum). All that crap with window size, buffer length, and the other parameters if improperly used for your network can cause tests that make you think you'll never see 1MB/sec+ ever again. So I just press the "i believe" button and use the defaults as it works pretty much all of the time. It is also why we allow for more "fudge factor" and consider 850Mb/sec as a good test. If we were actual networking nazis we'd setup the proper parameters with iperf and then realize something is wrong if we got below 970Mb/sec.
Doing benchmarks is a freakin' art. I don't care what anyone says or how much of a bada** you think you are. People don't think it is because they see so many websites that do benchmarks(many of them have very bad testing parameters, why do you think so many conflict with each other?). And I hate the fact that so many people think its so simple. It's not. It's very complex. I just BBQed a user 2 weeks ago in this forum because he posted a long benchmark that had pretty graphs and stuff. It looked very well thought out, very well planned and very well executed. But if you looked closer he had a pool of 6 disks in a RAIDZ2 and some of the benchmarks claimed 2GB/sec+, 500k IOPS/sec+, and he didn't have the necessary skills/knowledge to realize he isn't skilled/trained enough to even be posting benchmarks for the world. Anyone with 1/2 a brain should immediately realize that 2GB/sec is physically impossible, that 500kIOPS/sec+ is impossible. Sadly, since that guy made his post I've had more than 5 people message me asking how to get those kinds of numbers because they get nothing like that and they want to know what the did wrong. To that guy I can only say "thanks alot a**hole". LOL.
Now I need to go kill some hookers in GTA now that I'm pissed off again.