概述
Sub-menu: /tool
Packages required: system
带宽测试器可以测量到另一台MikroTik路由器(有线或无线)的吞吐量,帮助发现网络 "瓶颈"。
TCP测试采用有确认功能的标准TCP协议,遵循TCP算法,根据延迟、丢包以及TCP算法中的其他特征来发送多少个数据包。请查阅TCP协议了解内部速度设置和如何分析行为的细节。吞吐量的统计是用整个TCP数据流的大小来计算的。由于确认是TCP的内部工作,大小和链接的使用不包括在吞吐量的统计中。在估计吞吐量时,统计数字不像UDP统计数字那样可靠。
UDP测试器发送的数据包比报告的在链路另一端收到的数据包多110%或更多。要查看一个链接的最大吞吐量,数据包大小应设置为链接所允许的最大MTU,通常是1500字节。UDP不需要确认;该方式意味着可以看到最接近吞吐量的情况。
在RouterOS 6.44beta39版本中,带宽测试只使用单个CPU核心,在核心100%负载时达到极限。
带宽测试使用所有可用的带宽(默认),可能会影响网络的可用性。
带宽测试使用了大量的资源。如果要测试路由器的真实吞吐量,要通过被测试的路由器运行带宽测试。要做到这一点,至少需要3台路由器连在一起:带宽服务器、被测路由器和带宽客户端。
如果使用UDP协议,带宽测试将计算IP头+UDP头+UDP数据。如果使用的是TCP协议,则Bandwidth Test只计算TCP数据(不包括TCP头和IP头)。
带宽测试服务器
Sub-menu: /tool bandwidth-server
例子
带宽服务器:
[admin@MikroTik] /tool bandwidth-server> print
enabled: yes
authenticate: yes
allocate-udp-ports-from: 2000
max-sessions: 100
[admin@MikroTik] /tool bandwidth-server>
活动会话:
[admin@MikroTik] /tool bandwidth-server session> print
# CLIENT PROTOCOL DIRECTION USER
0 35.35.35.1 udp send admin
1 25.25.25.1 udp send admin
2 36.36.36.1 udp send admin
[admin@MikroTik] /tool bandwidth-server session>
要启用 带宽测试 服务器,不需要客户认证。
[admin@MikroTik] /tool bandwidth-server> set enabled=yes authenticate=no
[admin@MikroTik] /tool bandwidth-server> print
enabled: yes
authenticate: no
allocate-udp-ports-from: 2000
max-sessions: 100
[admin@MikroTik] /tool bandwidth-server>
带宽测试客户端
Sub-menu: /tool bandwidth-test
| 属性 | 说明 |
|---|---|
| address (IP address | IPv6 prefix[%interface]; Default:) | 主机IP地址 |
| : receive) | 数据流方向 |
| duration (time; Default: ) | 测试时间 |
| interval (time: 20ms..5s; Default: 1s) | 报告之间的延迟(单位:秒) |
| local-tx-speed (integer 0..4294967295; Default: ) | 传输测试最高速率(bps) |
| local-udp-tx-size (integer: 28..64000) | 本地传输数据包大小,以字节为单位 |
| password (string; Default: "") | 远程用户的密码 |
| protocol (udp | tcp; Default: udp) | 使用的协议 |
| random-data (yes | no; Default: no) | 如果随机数据设置为 "yes",带宽测试数据包的有效载荷将具有不可压缩的随机数据流,这样使用数据压缩的链接就不会扭曲结果(这是对高速CPU的设置。对于低速CPU,随机数据应该设置为 "no")。 |
| remote-tx-speed (integer 0..4294967295; Default: ) | 接收测试的最高速率(bps)。 |
| remote-udp-tx-size (integer: 28..64000) | 远程传输数据包的大小,以字节为单位 |
| connection-count (integer 1..100; Default: 20) | 使用的TCP连接数 |
| user (string; Default: "") | 远程用户 |
例子
对 10.0.0.32 主机发送和接收 1000 字节的UDP数据包,并使用 admin 连接,运行15秒长的带宽测试。
[admin@MikroTik] /tool> bandwidth-test 10.0.0.32 duration=15s \
\... direction=both local-udp-tx-size=1000 protocol=udp \
\... remote-udp-tx-size=1000 user=admin
status: done testing
duration: 15s
tx-current: 272.8Mbps
tx-10-second-average: 200.3Mbps
tx-total-average: 139.5Mbps
rx-current: 169.6Mbps
rx-10-second-average: 164.8Mbps
rx-total-average: 117.0Mbps
lost-packets: 373
random-data: no
direction: both
tx-size: 1000
rx-size: 1000
[admin@MikroTik] /tool>
链接本地的IPv6例子:
[admin@MikroTik] > /tool bandwidth-test fe80::34:23ff:fe6a:570c%local
status: running
duration: 5s
rx-current: 23.9Mbps
rx-10-second-average: 15.1Mbps
rx-total-average: 15.1Mbps
lost-packets: 0
random-data: no
direction: receive
rx-size: 1500