8x8通过采用Ampere处理器实现性能提升30%与成本优化

本文详细介绍了8x8视频会议服务在疫情期间面临性能瓶颈时,通过迁移到基于Ampere Altra处理器的ARM64实例,实现了30%的性能提升和成本降低,包括技术架构调整、代码重构和自动化脚本优化等具体实施细节。

8x8通过采用Ampere处理器实现性能提升30%与成本优化

挑战

2020年新冠疫情时期,8x8加密视频会议服务的全球需求呈指数级增长 - 在几周内从20台虚拟服务器激增至8000台。尽管8x8视频路由器的工作原理简单易懂,但实际上对CPU资源要求极高。

扩展系统意味着在云中部署更多服务器。8x8服务器在几小时内遇到的网络性能瓶颈数量,相当于工程师们预期一年内需要处理的问题总量。

8x8的Emil Ivov解释道:“通常当出现问题时,机器会不堪重负,CPU需求过高,无法及时从队列中取出数据包进行处理。“这些问题导致延迟增加,用户能够明显感知,更紧迫的是云服务成本大幅上升。

解决方案

为降低成本,8x8投资了Oracle云基础设施(OCI)。OCI为8x8提供了基于Ampere® Altra® CPU的更具成本效益的Arm64实例。时间紧迫的情况下,8x8冒险开始为迁移到Arm64微架构重构Jitsi - 这一举措原本预计会充满困难和事故。

Jitsi的大部分关键代码使用Java编写,需要JNI接口连接到本地机器码加密库和其他需要重新编译的库。幸运的是,由于已有现成的Arm64库,将其所有Jitsi代码迁移到Arm64只需开发人员最少的工作量,所有工作都在一天内完成。此外,启动新虚拟机实例的自动化脚本需要为Arm64实例重新调整 - 这又花费了几天时间。

成果

迁移到基于Ampere的Arm64实例后,8x8实现了Jitsi达到或超过P95 1毫秒的目标。这意味着日常性能中数据包事务处理时间少于1毫秒,P99为5毫秒。

从成本角度看,OCI的Arm64实例比之前使用的实例每个便宜高达30%。此外,基于Ampere的Arm64实例性能提升高达30% - Ivov称这是"非常实质性的改进”。与迁移前相比,每个Ampere实例在相同规模下能多处理20-30%的工作量。

开发者故事

当新冠疫情将在线通信工具需求推向前所未有的极端水平时,全球最大的开源电信项目之一将其服务迁移到OCI上基于Ampere的Arm64实例。这一决策带来了巨大回报。

2020年,当COVID-19疫情改变全球工作文化时,视频会议解决方案提供商8x8的加密视频通信服务经历了巨大的流量激增。疫情开始前,8x8视频会议服务的视频路由器运行在20台虚拟服务器上。一周后,它们消耗了80个实例。六周后,这个数字增长到8000。随着全球经济受到核心冲击,8x8突然发现自己成为了全球电信骨干。

过载剖析

尽管8x8视频路由器的工作简单易懂,但实际上对CPU要求很高。像电话交换机一样,服务器从一个套接字读取数据包,解密,重新加密,然后将加密的数据包复制到其他套接字进行转发。扩展系统意味着在云中部署更多服务器。这看起来是个简单的可扩展性计划,至少在开始时是这样。

Jitsi创建者、8x8产品副总裁Emil Ivov表示:“每周,我们都需要将[托管Jitsi所需的]基础设施翻倍。当事物呈指数级增长时,增长速度是疯狂的。”

8x8服务器在几小时内遇到的网络性能瓶颈数量,相当于工程师们预期一年内需要处理的问题总量。Ivov将这种感觉比作发现自己置身于潜艇战斗电影中,所有深水炸弹同时袭来,舰桥上的所有阀门开始爆炸喷水。

Ivov解释:“通常当出现问题时,机器会不堪重负,CPU需求过高,无法及时从队列中取出数据包进行处理。这些队列会变得越来越长。数据包离开队列、被处理、放入出站队列并发送需要时间。这个时间增加了,用户能够明显感知到。这种时间表现为延迟[然后是]数据包丢失,因为当你开始发送太多数据包时,可能会使通往终端设备路径上的各种设备队列不堪重负。你可能会看到糟糕的视频或音频中的噪音、中断。这不仅在指标图中非常明显,对用户也是如此。”

第99百分位的回报

8x8需要立即降低成本。首先,它投资了Oracle云基础设施(OCI)。接下来,其开发人员提出了优化方案,使工作负载能够消耗更少的OCI服务器实例。随后,Oracle向8x8提出正在推出由Ampere® Altra® CPU驱动的更便宜的Arm64 OCI实例。

时间紧迫的情况下,8x8冒险开始为迁移到完全不同的微架构重构Jitsi - 这一举措他们原本预计会充满困难和事故。Jitsi的大部分关键代码使用Java编写,需要JNI接口连接到本地机器码加密库和其他需要重新编译的库。然而,这些库本身已经有Arm64版本。

8x8的Ivov指出:“这是一个支持得非常出色的架构。每个有意义的项目都已经有Arm64的二进制文件,所以我们从未遇到过任何问题。”

低成本,轻松获胜

8x8的Emil Ivov承认,他和团队对从x86迁移到Ampere有些担忧。Jitsi是否会遭受性能打击?缓解这些打击的成本是否会超过在低成本平台上运行所节省的费用?8x8是否会发现自己被分裂,通信平台托管在与CX平台完全不同的架构上?

Ivov评论道:“起初,我想,‘啊,天哪,谁知道那是什么异国情调的东西,‘以及有多少东西不能在这个Arm64基础架构上运行。我害怕会发生不可预见的事情。但支付更少的钱是去尝试事情的巨大动力。”

令他们惊讶的是,使用基于Ampere的OCI将Jitsi从x86迁移到Arm64的整个行程只用了两周时间。下一步是从暂存环境转移到生产环境,结果超出了所有人的预期。

Ivov说:“我们启动了它,便宜大约20%到30%的机器给我们带来了20%到30%更好的性能。“当被问及8x8将其他平台迁移到Ampere和OCI的计划时,Ivov宣称这是降低成本的最简单途径。“采用Ampere实例没有任何犹豫,“他说。“它们始终是我们首先考虑的选项。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计