查看: 2671|回复: 0

RTX 与 Windows 以太网性能分析

[复制链接]
发表于 2018-1-11 17:35:15 | 显示全部楼层 |阅读模式
关键词: 反射内存 , 反射内存卡 , 测试测控
RTX 下使用普通网卡即可实现实时以太网的性能。作者对 RTX 与 Windows 下以太网性能进行了对比测试来验证该观点。

1. 测试环境
       Windows XP 操作系统, RTX 使用Dedicated 模式, 单独占用一颗 CPU 核, 硬件使用 Core i7, 4 核8 线程, 2.8GHz 主频, 4GB 内存, 两块 Intel 82545GM 千兆网卡点对点互联。

2. 测试方法
       RTX 环境下, 测试方法为两台机器分别运行RT Client 和 RT Server 两个 RTSS 应用程序, RT Client 发送数据包到 RT Server, RT Server 收到数据包之后发送回 RT Client。使用 TCP/IP & UDP 协议, 选择不同的包长度, 每次发送500 个数据包, 重复 20 次Windows 环境下, 两台机器分别运行 Client 和 Server 两个应用程序, Client 发送数据包到 Server, Server 收到数据包之后发送回 Client。使用 TCP/IP & UDP 协议, 选择不同的包长度, 每次发送500 个数据包, 重复 20 次。

3. 测试结果
RTX 环境, TCP/IP 协议测试结果Windows 环境, TCP/IP 协议测试结果
Packet Size = 1 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 35 us
Maximum Time = 54 us
Errors = 0
Lost Packets = 0
--
Packet Size = 16 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 36 us
Maximum Time = 55 us
Errors = 0
Lost Packets = 0
Packet Size = 16 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 55 us
Maximum Time = 199 us
Errors = 0
Lost Packets = 0
Packet Size = 32 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 37 us
Maximum Time = 54 us
Errors = 0
Lost Packets = 0
Packet Size = 32 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 58 us
Maximum Time = 196 us
Errors = 0
Lost Packets = 0
Packet Size = 64 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 39 us
Maximum Time = 51 us
Errors = 0
Lost Packets = 0
Packet Size = 64 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 58 us
Maximum Time = 3400 us
Errors = 0
Lost Packets = 0
Packet Size = 128 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 42 us
Maximum Time = 59 us
Errors = 0
Lost Packets = 0
Packet Size = 128 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 55 us
Maximum Time = 166 us
Errors = 0
Lost Packets = 0
Packet Size = 256 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 50 us
Maximum Time = 71 us
Errors = 0
Lost Packets = 0
Packet Size = 256 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 79 us
Maximum Time = 653 us
Errors = 0
Lost Packets = 0
Packet Size = 512 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 64 us
Maximum Time = 92 us
Errors = 0
Lost Packets = 0
Packet Size = 512 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 122 us
Maximum Time = 495 us
Errors = 0
Lost Packets = 0
Packet Size = 1024 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 92 us
Maximum Time = 111 us
Errors = 0
Lost Packets = 0
Packet Size = 1024 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 212 us
Maximum Time = 716 us
Errors = 0
Lost Packets = 0
Packet Size = 1462 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 117 us
Maximum Time = 633 us
Errors = 0
Lost Packets = 0
--
Packet Size = 2048 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 124 us
Maximum Time = 632 us
Errors = 0
Lost Packets = 0
Packet Size = 2048 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 165 us
Maximum Time = 709 us
Errors = 0
Lost Packets = 0
Packet Size = 4096 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 188 us
Maximum Time = 695 us
Errors = 0
Lost Packets = 0
Packet Size = 4096 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 232 us
Maximum Time = 565 us
Errors = 0
Lost Packets = 0
Packet Size = 8192 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 289 us
Maximum Time = 1083 us
Errors = 0
Lost Packets = 0
Packet Size = 8192 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 348 us
Maximum Time = 946 us
Errors = 0
Lost Packets = 0
Packet Size = 65535 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 1643 us
Maximum Time = 2707 us
Errors = 0
Lost Packets = 0
Packet Size = 65535 bytes
Connections = 1
Messages / Connection = 10000
Minimum Time = 2244 us
Maximum Time = 2591 us
Errors = 0
Lost Packets = 0

4 测试数据分析
       使用 TCP/IP 协议, 当传输的数据包长度低于1460 上限时, RTX 下数据包传输的实时性明显优于 Windows 。当传输数据包长度超过 1460 上限的大包时, RTX 在应用层分包, Windows 下在 IP 层自动分包。由于 TCP 协议数据传输的可靠性要求, RTX 下大数据包需要接收多次数据包 ACK 报文, RTX 下数据包传输的实时性与 Windows 相当。使用 UDP 协议传输时, 由于 UDP 协议不需要数据包ACK 报文, RTX 实时性得以体现, RTX 下数据包传输的实时性明显优于 Windows 。
5 结论
1)使用 TCP/IP 协议, 相比于 Windows, RTX 在传输小包(数据包长度低于 1460) 时有明显的实时性。
2)使用 UDP 协议, 相比于 Windows, RTX 在数据包传输时有明显的实时性。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表