MikroTik RB450Gx4测试性能:一核有难三核围观
前言 在上一篇文章中,我准备使用 MikroTik RB450Gx4 做出口网关,这样 CRS326 做一个弱三层的角色,用交换芯片抗东西向流量,南北向的给这台 RB450Gx4,直接用 CPU 跑。 新买的 RB450Gx4 到货了,投入使用前拿来测一下,看看和官方的数据差多少,摸个底。 ...
前言 在上一篇文章中,我准备使用 MikroTik RB450Gx4 做出口网关,这样 CRS326 做一个弱三层的角色,用交换芯片抗东西向流量,南北向的给这台 RB450Gx4,直接用 CPU 跑。 新买的 RB450Gx4 到货了,投入使用前拿来测一下,看看和官方的数据差多少,摸个底。 ...
背景 机房有一台H3C的路由器,它同时负责接入和三层路由。今年偶然在传文件的时候发现速度奇慢,排查发现瓶颈在这台路由器,三层转发大包(SSH传文件)只有90Mbps左右了,转发率就不用算了吧,然后看路由器的control-plane和data-plane的负载都被打满了,应该是没走成交换芯片(快速路径),全部走CPU(慢速路径)处理去了。更重要的是,这台机器并没有使用ACL、VRF这种比较难offload的功能,如今掉速这么严重,不知道是触发了哪门子bug,再加上系统全部是黑盒,在没有购买官方支持的情况下,基本没有解决这种问题的可能了。 ...
我有一台小主机,来自Lenovo的M73t,CPU型号为i3-4130T,内存为DDR3仅有8GB。这篇文章,我们就一起来看看,如何用这一台已经过时的、仅有两个物理核心的机器,做一台高性能的白盒交换机。 ...
我们自己的数据面系统如何打流测试呢?如果使用Linux协议栈上的测试工具往往是测不出来真正的数据的,而且受制于协议栈,我们最终也无法得到真实的收发情况,因此这时候我们要请出基于DPDK开发的一个打流测试工具——Pktgen。 ...
相信使用过Linux的AF_PACKET类型socket的朋友都知道,性能不是特别好,而且似乎引入了一个新的问题——用户态程序要处理所有来的报文(可能也能绑定socket,博主我没有尝试过),这应该是相当拉胯了。使用eBPF XDP处理完美解决所有问题,还附带了UMEM共享内存,省掉了不少CPU时钟,不仅能解决云原生场景下的一些性能和潜在问题,还能顺带做个SD-WAN,能不香吗?(手动狗头 ...
博主早期使用Golang+TAP/TUN实现了对数据包L2/L3级别的操作,但是很显然这么做也会有很大的问题——用户程序的数据包发出到TAP/TUN,还要再复制到用户态程序处理,然后通过用户态程序的套接字再从主网卡发出,这样一来既延长了数据路径,又带来了多次的用户态内核态间的数据拷贝,整体上造成的指令数不容小觑。DPDK则可以完全解决这个问题,本篇文章则为对DPDK的一个开端,在完成开发环境准备的同时,博主我稍微修改了l2fwd例程,使得其能够实现一个简易的NAT操作(不能用的那种),感受一下DPDK的魅力~ ...