我在二月份做了这个测试,但现在终于可以发布结果了!这个小小的 SBC 肯定会在 ISP 行业大受欢迎。在此处查看有关它的更多信息。 PC Engines 为全球客户群开发和销售用于联网的小型单板计算机。本文讨论了 PC Engines 开发的一款新的/未发布的产品,它在网络运营商社区中具有特定的意义:带有三个基于 RJ45/UTP 的网络端口和一个 SFP 光端口的 SBC。由于在 SFP 端口上使用 Intel i210-IS,在三个铜口上使用 i211-AT,并且由于它没有活动部件(风扇、硬盘等),因此该 SBC 是网络设备的绝佳选择,例如 out数据中心中的带外或串行控制台,或小型企业或家庭办公室中的路由器。 APU 系列主板通常配备 2GB 或 4GB DRAM、2、3 或 4 个 Intel i211-AT 网络接口,以及一个四核 AMD GX-412TC(以 1GHz 运行)。这篇评测是关于以下 APU6 单元,它带有 4GB DRAM(这个预生产单元带有 2GB,但将在生产版本中修复)、用于 RJ45 网络接口的 3 个 i211-AT 和一个带有 SFP 笼的 i210-IS .另一个显着差异是可见的 - 暴露第一个串行 RS232 端口的可靠生锈 DB9 连接器被替换为来自 Silicon Labs 的现代 CP2104(USB 供应商 10c4:ea60),它将串行端口暴露为微型 USB 连接器上的 TTL/串行而不是 RS232 , 整洁的!小型可插拔 (SFP) 是一种紧凑型、可热插拔的网络接口模块,用于电信和数据通信应用。网络硬件上的 SFP 接口是用于特定媒体收发器的模块化插槽,用于连接光纤电缆或有时是铜电缆。这种槽通常称为笼。 SFP 端口接受大多数/任何光学品牌和配置(铜、常规 850 纳米/1310 纳米/1550 纳米、通常用于 FTTH 部署的 BiDi、用于 OADM 后面的 CWDM)。我尝试了 6 种不同的供应商和类型,结果见下文。无论供应商或品牌如何,所有模块都有效。
我尝试了 6 个不同的 SFP 模块,都成功了。请参阅列表中的链接以获取光学诊断工具的输出(使用 SFP/SFP+ 管理的 SFF-8472 标准)。每个模块提供链接和传递的流量。下面的负载测试是在一个接口中使用 BiDi 光学器件而在另一个接口中使用无聊的 RJ45 铜缆完成的。能够在数据中心设置中将这些 APU6 用作远程/带外串行设备将是非常棒的,特别是现在 UTP 变得稀缺并且每个人的机架中都有光纤基础设施。与基于常规(内核)的路由相比,该主板上英特尔 i210/i211 网络控制器的选择允许运营商使用英特尔的 DPDK 具有相对较高的性能。我分别对 Linux (Ubuntu 20.04)、OpenBSD (6.8) 和两个鲜为人知但更酷的 DPDK 开源设备进行了负载测试,它们分别称为 Danos ( ref ) 和 VPP ( ref )。特别值得一提的是,虽然 Linux 和 OpenBSD 都在苦苦挣扎,但两个 DPDK 设备在填充双向千兆位“常规互联网流量”(称为 imix)流时绝对没有问题,并且接近“64b UDP 数据包”的线速。千兆以太网的单向线速为 1.48Mpps,我的负载测试同时对两个方向施加压力。对于负载测试,我在无状态模式下使用了 Cisco 的 T-Rex ( ref),带有一个自定义 Python 控制器,该控制器通过将流量从端口 0 发送到 DUT 来增加和减少从负载测试器到被测设备 (DUT) 的流量,并期望从 DUT 返回到其端口 1 的流量,反之亦然(从端口 1 -> DUT -> 在端口 0 上返回)。负载测试器首先发送几秒钟的预热,这是为了确保 DUT 正在通过流量,并提供在实际加速之前检查流量的能力。然后负载测试器从 0 到 100% 的线路速率线性上升(在我们的例子中,线路速率在两个方向都是千兆位),最后它以全线路速率保持流量一段时间。如果在任何时候负载测试器未能看到它在其第二个端口上返回的流量,它就会将 DUT 标记为饱和;这被记为最大比特/秒和/或数据包/秒。用法:trex-loadtest.bin [-h] [-s SERVER] [-p PROFILE_FILE] [-o OUTPUT_FILE] [-wm WARMUP_MULT] [-wd WARMUP_DURATION] [-rt RAMPUP_TARGET] [-rd RAMPUP_DURATION] [-hd HOLD_DURATION ]T-Rex Stateless Loadtester -- [email protected] 可选参数:-h, --help 显示此帮助信息并退出 -s SERVER, --server SERVER 远程 trex 地址(默认:127.0.0.1)-p PROFILE_FILE,- -profile PROFILE_FILE STL profile file to replay (default: imix.py) -o OUTPUT_FILE, --output OUTPUT_FILE 将结果写入的文件,使用“-”表示标准输出(默认:-) -wm WARMUP_MULT, --warmup_mult WARMUP_MULT 预热期间,发送此“mult”(默认值:1kpps) -wd WARMUP_DURATION, --warmup_duration WARMUP_DURATION 预热持续时间,以秒为单位(默认值:30) -rt RAMPUP_TARGET, --rampup_target RAMPUP_TARGET 目标线速率百分比(默认值: 100) -rd RAMPUP_DURATION, --rampup_duration RAMPUP_DURATION 上升到目标线速率百分比所需的时间,以秒为单位(默认值:600) -hd HOLD_DURATION, --hold_持续时间 HOLD_DURATION 将负载测试保持在目标百分比的时间,以秒为单位(默认值:30) 值得指出的是,几乎所有系统都是 pps-bound 而不是 bps-bound。我有一个典型的抱怨是,网络供应商在指定他们的吞吐量“高达 40Gbit”时是不精确的,他们通常是指“在精心设计的条件下”,例如使用巨型帧(9216 字节而不是以太网上的“通常”1500 字节 MTU ,这在路由器上比典型的互联网混合更容易(接近 1100 字节),而且比要求路由器转发 64 字节数据包(例如在 DDoS 攻击中)要容易得多);并且仅在一个方向上;并且只使用一个源/目标 IP 地址/端口,这比在包含 1M 目标的转发表中查找目标要容易一些——对于上下文而言,当前的互联网骨干路由器承载 ~845K IPv4目的地和 ~105K IPv6 目的地。
有关绘制这些图形的方法和脚本的更多信息,请查看我的好友 Michal 的 GitHub 页面,如果有时间,它可能会变成本网站的自己的子部分(我只能想象流行的负载测试语料库的价值消费领域的设备)。该装置由 PC Engines 免费运送给我,用于负载和系统集成测试。除此之外,这不是付费认可,这篇评论的观点是我自己的。考虑到目标受众,我想知道是否有可能将 SFP 框架中的 I2C 引脚断开到板上的接头中,以便用户可以将它们连接到 CPU 的 I2C 控制器(或直接在 GPIO 引脚上的 bitbang),并使用APU6 作为 SFP 闪光器。我认为这在数据中心设置中会非常方便。基于 DPDK 的路由器实现受 CPU 限制,并且可以从更多的功率中受益。以数据包/秒/瓦特表示的吞吐量给我留下了深刻的印象,但考虑到典型的路由器具有(转发)数据平面和需求一个(配置)控制平面,我们大约有 30% 的 CPU 周期。如果控制平面(如 Bird 或 FRR ( ref ) 是专用的一个内核,则剩下三个内核用于转发,我们获得大约 154% 的线速,我们需要 200/154 == 1.298 才能在两个内核中获得线速)也就是说,在正常 (==imix) 环境下,APU6 在两个方向上饱和千兆比特绝对没有问题。光分插复用器 – 一种用于波分复用系统的设备,用于复用和路由不同的光通道进出单模光纤 (SMF) 光网络终端 - ONT 将光纤光信号转换为基于铜线的电信号,通常是以太网 光电信插座 - OTO 是一种光纤插座,可以轻松端接办公室和家庭环境。安装的 OTO 由其 OTO-ID 引用。
通用地址冗余协议——其目的是让同一网段上的多台主机共享一个IP地址。 CARP 是虚拟路由器冗余协议 (VRRP) 和热备路由器协议 (HSRP) 的安全、免费替代方案。简单的互联网过渡 - 其目的是通过隧道互连位于全球 IPv4 互联网中的孤立 IPv6 网络。机顶盒 - 一种使电视机成为 Internet 用户界面并且还使电视机能够接收和解码数字电视 (DTV) 广播的设备。通用路由封装 - Cisco Systems 开发的一种隧道协议,可以将各种网络层协议封装在 Internet 协议网络上的虚拟点对点链接中。 layer2 虚拟专用网络——一种通过伪线(通常是 IP 隧道)模拟交换以太网 (V)LAN 的服务。动态主机配置协议——一种 IPv4 网络协议,它使服务器能够从定义的数字范围。动态主机配置协议:前缀委托 - 一种 IPv6 网络协议,它使服务器能够从定义的号码范围自动为客户分配网络前缀。
邻居发现协议:邻居请求/广告 - 一种 ipv6 特定协议,用于发现和判断共享链路上其他节点的可达性。邻居发现协议:路由器请求/广告 - 一种用于发现和安装本地地址和网关信息的 ipv6 特定协议。单板计算机 - 所有外围设备和组件直接连接到板上的计算计算机。