通过iperf,iperf3测试网络
iperf用法
tldr工具获取的iperf用法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| iperf
Measure network bandwidth between computers. More information: https://iperf.fr. - Run on server: iperf -s
- Run on server using UDP mode and set server port to listen on 5001: iperf -u -s -p 5001
- Run on client: iperf -c server_address
- Run on client every 2 seconds: iperf -c server_address -i 2
- Run on client with 5 parallel threads: iperf -c server_address -P 5
- Run on client using UDP mode: iperf -u -c server_address -p 5001
|
分别启动server和client进行测试,如:
1 2
| iperf -s -p 9988 -f M iperf -c 111.111.111.111 -p 9988 -t 300 -d -f M -i 2
|
参数说明
- -f 格式/单位:Kbits, Mbits, KBytes, MBytes
- -i
- -p
- -P
- -u
- -c
- -s
在阿里云服务器上遇到的问题
- 问题
阿里云服务器上仅开放了80和443,及ssh端口,其他端口未开放,不能使用其他端口进行测试,也无权限开放新的端口用
于测试,服务上提供api接口的服务也都是通过nginx反向代理实现.
- 测试代码
1 2 3 4 5 6 7 8 9
| address, err := net.ResolveTCPAddr("tcp", "http://server_address:18090") if err != nil { fmt.Println(err) } conn, err := net.DialTCP("tcp4", nil, address) if err != nil { fmt.Println(err) } conn.Write([]byte("test connect"))
|
无法建立tcp连接,timeout
解决
服务器上无可用端口用于测试,仅开放的80,443等端口已被网页服务服务占用,可以通过ssh端口转发到一个未暴露的端口,在该端口启动iperf的服务端进行测试.
1 2 3 4
| ssh -L local_port:localhost:server_port_for_iperf -N -T user@server_address -p server_ssh_port 如: ssh -L 9999:localhost:8888 -N -T user_test@111.111.111.111 -p 22 将发送到本地端口9999的请求数据转发到111.111.111.111转发到8888端口
|
在服务器上启动iperf server
1 2 3 4
| iperf -s -p port -f M 如 iperf -s -p 8888 使用TCP方式,在8888端口启动服务端,监听
|
结果
数据
1 2 3 4 5 6 7 8 9 10 11 12
| [ ID] Interval Transfer Bandwidth [ 13] 0.0-44.1 sec 30.5 MBytes 0.69 MBytes/sec [ 7] 0.0-44.2 sec 30.6 MBytes 0.69 MBytes/sec [ 9] 0.0-44.2 sec 30.6 MBytes 0.69 MBytes/sec [ 11] 0.0-44.2 sec 30.6 MBytes 0.69 MBytes/sec [ 15] 0.0-44.2 sec 30.6 MBytes 0.69 MBytes/sec [ 21] 0.0-44.9 sec 31.6 MBytes 0.70 MBytes/sec [ 17] 0.0-45.1 sec 31.9 MBytes 0.71 MBytes/sec [ 4] 0.0-45.2 sec 32.5 MBytes 0.72 MBytes/sec [ 18] 0.0-45.2 sec 32.1 MBytes 0.71 MBytes/sec [ 5] 0.0-45.2 sec 32.5 MBytes 0.72 MBytes/sec [SUM] 0.0-45.2 sec 314 MBytes 6.94 MBytes/sec
|
分析
参考
- ssh端口转发: 玩转SSH端口转发 https://zhuanlan.zhihu.com/p/26547381
- nginx反向代理:
3.