iperf参数太多了,常用的不多。
iperf基于c-s架构,默认是client发包、server收包,有个参数-R能够反转让server发包、client收包。
可参考微软azure云的这篇文档:https://docs.azure.cn/zh-cn/articles/azure-operations-guide/virtual-network/aog-virtual-network-iperf-bandwidth-test
【iperf3示例】
比如有一对源和目的,源发包、目的收包,目的机器的内外网IP分别是172.16.160.143、36.136.121.33
目的上执行命令:iperf3 -s -p 5001 -i 2
源上执行命令:iperf3 -c 36.136.121.33 -P 1 -t 30 -i 2 -p 5001 -w 256K或 iperf3 -c 36.136.121.33 -P 1 -t 30 -i 2 -p 5001
注意事项:
①加不加-w参数,有时候差异也是蛮大的,建议都试试,-w的值在windows上可以指定得比linux上大,linux上指定-w 1M可能会报错,指定-w 256K不报错
②-P 1是单线程,建议单线程、多线程都试试,比如-P 8
③iperf3 -c还可以指定端口(--bind是指定本机内网IP),比如
iperf3 -c 36.136.121.33 -P 1 -t 30 -i 2 -p 5001 -w 256K --bind 172.16.160.143 --cport=1873
iperf3 -c 36.136.121.33 -P 1 -t 30 -i 2 -p 5001 -w 256K --bind 172.16.160.143 --cport=1874
对于内网带宽大于3Gbps的机器,使用iperf3压测时,可以多开几个进程,否则可能压不到上限
https://cloud.tencent.com/developer/article/2229468
多线程压测建议使用iperf2,参考
https://fasterdata.es.net/performance-testing/network-troubleshooting-tools/throughput-tool-comparision/
https://cloud.tencent.com/developer/article/1786460