iperf is certainly one of the better network test tools, and if you're simply trying to find maximum TCP or UDP based throughput, it's a very good choice.
As far as command options, MKguy makes a good point about increasing the TCP window size etc., although on a GE LAN with a modern OS I’d expect you'd be able to fully utilise the link with the default options. If you're testing across wide area networks, where the round trip time is relatively high, then you'd certainly need to change the options. There's a good discussion of the tool and how to use it over at the eduPERT Knowledge Base on their Iperf page. The other page to check out if you're seeing problems with TCP performance on Windows machines is their page on Windows-Specific Host Tuning.
Though I use iperf regularly, it doesn't give me everything I need for every occasion and so I also turn to the following tools for the following reasons:
nuttcp: allows setting of a specific TCP stream rate. Iperf allows this for UDP tests, but not TCP.
[sfuller@rhel6-eth0 ~]$ nuttcp -t -i1 -R100m rhel5
11.8750 MB / 1.00 sec = 99.4502 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1720 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1705 Mbps 0 retrans
11.8750 MB / 1.00 sec = 99.6459 Mbps 0 retrans
11.9375 MB / 1.00 sec = 99.9705 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1704 Mbps 0 retrans
thrulay: provides details of min/avg/max round trip time in addition to throughput
[sfuller@rhel6-eth0 ~]$ thrulay rhel5
# local window = 219136B; remote window = 8388608B
# block size = 8192B
# Path MTU = 1500B, MSS = 1448B
# test duration = 60s; reporting interval = 1s
SID begin,s end,s Mb/s RTT,ms: min avg max
(0) 0.000 1.000 937.343 0.418 1.552 2.070
(0) 1.000 2.000 931.577 0.645 1.568 9.534
(0) 2.000 3.000 938.915 1.079 1.552 2.077
(0) 3.000 4.000 938.857 1.066 1.557 2.588
(0) 4.000 5.000 938.117 1.095 1.553 1.983
netperf: has the option for request/response type tests whereas iperf is stream based only
[sfuller@rhel6-eth0 ~]$ netperf -H rhel6 -tTCP_RR -- -r512,512
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to rhel6-eth0.ntilab.net (172.17.2.100) port 0 AF_INET : interval : demo
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec
16384 87380 512 512 10.00 112460.64
16384 87380
Hope that helps.