100 Gbps 保障带宽
100Gbps 独立服务器:硬件是容易的那一半
一个保障 100 Gbps 端口是这笔采购里容易的那一半。让一台通用 Linux 服务器跑满它,是一件关于内存放置和中断路由的活儿,而这份活儿现在归你了。
X-ZoneServers 100 Gbps 独立服务器每月 €4499 起,配备保障 100 Gbps 端口:2 种裸金属配置,每月流量最高 32.4 PB,覆盖欧盟和美国的 11 个国家。端口实际上不限流量:你可以全天候跑满全部承诺速率,档位之内没有超量费用,也没有公平使用限速。
€4499
每月起步价
€44.99
每 Gbps 每月
2
种配置
32.4 PB
每月流量上限
01概览
带宽是这一档里便宜的部分。在我们的价目表上,搬运一个数据包的成本从来没有这么低过,而我们安装的机型接上 100 Gbps 端口也毫无压力。令人尴尬的事实是,没有哪个主流操作系统开箱就能把它填满。一套默认安装的 Linux,中断由调度器随意安排落点,套接字缓冲区还是按十年前的链路设定的,通常会卡在几十 Gbps 的某个位置,而且无论你投入多少 CPU 都停在那里。要达到线速,首先要解决的是内存放在哪里、由哪个核心处理中断,原始核心数的问题要排在很久之后。这里提供两种配置,选哪一种合适,与其说取决于端口(两者完全相同),不如说取决于数据包到达之后你的软件会对它做什么。
02容量
协议栈配合之后端口能承载什么
线速时端口搬运 12500 MB/s 有效载荷。这让 1 TB 数据集过线只要 1 分 20 秒,按 30 天月份满载累计 32.4 PB。换算成流媒体,是 20000 路并发 1080p 观众(每路 5 Mbps),或 4000 路 4K 观众(每路 25 Mbps)。这些数字描述的是端口,而端口是保障的,所以我们这边在档位内不会限速也不会额外收费。真正到达你应用的是另一个问题,由接收队列如何分布在各个核心上、数据包落进的缓冲区位于哪个 NUMA 节点,以及这个包在你的进程看到它之前被复制了多少次决定。这一页余下的内容就是关于怎样把这个差距抹平。
32.4 PB
每月流量
端口满载运行一个 30 天月份的持续流量。
20,000
1080p 观看人数
每路 5 Mbps 时的并发流数量。
4,000
4K 观看人数
每路 25 Mbps 时的并发流数量。
1 min 20 s
每 TB 用时
以线速把 1 TB 数据传出服务器所需的实际时间。
以上数字采用十进制单位(1 Gbps = 125 MB/s),按 30 天月份计算,1080p 每路按 5 Mbps、4K 每路按 25 Mbps 计。它们描述的是端口能承载多少,而不是对应用层吞吐的保证:磁盘、CPU 以及对端都会各自施加自己的限制。
03配置
100Gbps 档位下的 2 种配置
€4499 的 Dual Xeon Gold 6148 带来 40 核 80 线程、2.4GHz、256GB DDR4-2133 和六个 SSD 盘位。€7939 的 Dual EPYC 9754 是“旗舰”机型,256 核、512 线程、1024GB DDR5-4800 和 24 个 NVMe 槽位。EPYC 9254 和 9554 机型不在此列,因为它们的端口选项止步于 50Gbps。这里要权衡的规格是内存代次,而不是时钟频率,因为数据包路径上的每一次拷贝都要付出一次读和一次写,所以你需要的内存带宽是线路速率的倍数,而不是与之相等。两款机型都是双路的,这意味着有两个 NUMA 节点,而网卡在物理上只连接到其中一个节点的通道上。无论你选哪款机型,下文描述的大部分调优都由这一个事实驱动。
04应用场景
100Gbps 服务器适合做什么
提供大对象服务的缓存与源站集群
唯一一种只需适度投入就能接近线速的流量形态,因为内核可以用很少的拷贝把整个文件交给网卡。把调优预算花在连接建立和 TLS 终止上,而不是花在载荷路径上。
数据包检测、流量清洗与流量分析
凡是逐个检查数据包而不是逐个文件的负载,早在撞上端口之前,就会先撞上内核的逐包开销。从第一天起就规划好旁路框架和专用的轮询模式核心,而不是把它当作日后的优化。
NVMe 存储目标与备份落地区
只有当硬盘队列、网络队列和内存都位于同一个 NUMA 节点上时,NVMe-oF 和对象存储后端才能维持吞吐,这也是为什么 24 槽位的 EPYC 9754 是这类用途合理的起点。
站点与集群之间的数据集中转
在不同地点之间搬运训练语料或科研归档,能把一个工作日缩短成一次咖啡休息,但前提是传输工具能感知 NUMA,而且不会把每个字节都塞进靠近错误插槽的单个核心。
05价格
每千兆 €44.99,以及这份节省仍然要付的代价
一个保障 100 Gbps 端口每月 €4499,每个千兆合 €44.99。这是我们公布过的最低带宽价格,而且它是一个下限而不是一条直线上的某个点,这也是为什么即使你预计第一年只跑半载,这一档仍然值得去够。这份节省是真的,但不是白捡的钱。在端口挣回发票上那个数字之前,先假定要投入一些工程师时间做协议栈调优,如果走旁路路线可能还要一两份许可证。老实把它算进去,这笔账依然成立:调优是按天付出的一次性成本,而每千兆的价格是服务器运行多久就付多久。你不该做的是买下这一档、装个原版镜像、测出 30 Gbps,然后断定端口不在那里。
06相关内容
降到 50Gbps
如果调优还没做,就留在 50Gbps
50Gbps 档位 €2799 起,所以这一档每月要多花 €1700。如果你现在的服务器从来没被推出过原版配置,那 €1700 买到的是你还够不着的容量,而诚实的建议是先花两周做中断和内存放置。在月度上限 16.2 PB 之内还很从容的团队,同样应该留在原地。
查看 50Gbps 服务器升到 200Gbps
当调优不再有回报时,升到 200Gbps
单靠流量增长并不构成触发条件。当你的协议栈已经调优、核心已经绑定,而你撞上的仍然是端口时,或者当你的预测确实需要它每月允许的 64.8 PB 时,再升到 €13439 起的 200Gbps,也就是每月比这一档多 €8940。注意,在那一档每个千兆要 €67.19。这一步买到的是容量,而不是效率。
查看 200Gbps 服务器07对比
全部保障带宽档位
同一批硬件按九档承诺端口速率出售。可对比各档的入门价格。
08常见问题
100Gbps 独立服务器常见问题
服务器在软件层面究竟需要什么,才能达到 100 Gbps?
比默认安装多得多。实际包括:较新的内核;接收端扩展,每个处理核心一个队列;把中断亲和性绑定到网卡所在插槽上的核心;把环形缓冲区和套接字缓冲区调到远高于默认值;用大页支撑缓冲池;保持分段和校验和卸载开启,让网卡而不是某个核心来做这些工作。这些都不稀奇,但每一项都需要刻意去做。原版镜像没有一项是为这个速率配置的,因为默认值是为一台 1 Gbps 链路的机器选定的。
在这个速率下,NUMA 放置为什么如此重要?
这里的每款机型都有两个插槽,因此有两个 NUMA 节点,而网卡恰好只连接在其中一个节点的 PCIe 通道上。如果中断在一个节点上处理,而数据包缓冲区和你的工作线程却在另一个节点上,每个数据包都要额外穿越插槽间互连,你要为此付出延迟,以及预算之外的内存带宽。把接收队列、缓冲区分配和应用线程都绑定到网卡所在的节点,然后用 numactl 核实放置情况,而不是想当然地认为调度器做对了。
Dual Xeon Gold 6148 驱动这个端口的能力能和 EPYC 9754 一样好吗?
对于以字节为主的流量,能。如果你发送的是大对象,而且大部分搬运工作由内核完成,Gold 6148 就能填满端口,而 €4499 是拥有这样一个端口最便宜的方式。当工作是逐包而不是逐文件进行时,差距就拉开了。加密、深度检测和用户态协议栈都要在每个数据包上耗费 CPU 周期和内存带宽,而 DDR4-2133 上的 80 线程为此留下的余量,远少于 DDR5-4800 上的 512 线程。简单的原则:做分发买 Xeon,做处理买 EPYC。
什么时候像 DPDK 这样的内核旁路框架值得折腾?
当你的上限是每秒包数而不是每秒字节数的时候。小包和逐包决策,也就是防火墙、流量清洗、遥测之类的工作,早在端口填满之前就会耗尽内核路径。轮询模式驱动把网卡和几个核心完全从操作系统中拿出来,从而消除这部分开销。代价是路由、重传和 TLS 都变成了你的代码要处理的问题。如果你的流量是大对象,就调优内核路径,跳过这个框架。当你确实拿不准时,AF_XDP 是一个合理的折中方案。
我怎么判断瓶颈是端口还是我自己的软件?
先用合成流量发生器测试链路,让你手里有一个能证明端口和路由没问题的数字,然后在同一条路径上运行你的真实负载。如果流量发生器能达到线速而你的应用不能,答案就在服务器上。留意是否有某个核心软中断负载满格而其余核心空闲,这指向中断亲和性;再留意网卡或套接字上的丢包计数器,这通常指向缓冲区大小设置。
告诉我们你的流量长什么样
向我们描述你的负载,是以数据包为主还是以文件为主,我们会告诉你两款机型中哪一款合适,以及协议栈需要做哪些调整。定制 CPU、最高 1TB DDR5 的内存、存储和带宽档位均可按需报价。Gold 6148 通常一小时内上线;EPYC 9754 最长可能需要 14 天。
1 Tbps 始终在线 DDoS 防护(L3/L4)Xeon 约 1 小时交付,EPYC 最长 14 天无安装费