当前位置: 首页 > 网络应用技术

ARM64上的性能怪物:Apache Apisix的安装和性能测试在AWS Graviton3上

时间:2023-03-07 14:10:37 网络应用技术

  AWS发布了最新的AWS Graviton系列处理器-AWS GRAVITON3基于ARM架构的ARM Architecture。与AWS官方数据相比,与Graviton2处理器相比,基于领先的DDR5存储器技术,Graviton3处理器可提供多达25%性能的改进,最多2倍浮动的性能和50%的内存访问速度;在类似的EC2实例的情况下,Graviton3也可以将能量降低60%。

  那么,实际数据呢?让我们以CPU密集型API网关为例,以了解AWS Graviton3的性能。在此,我们使用Apache Apisix在两个服务器环境下使用Apache Apisix进行性能比较测试:AWS GRAVITON2(C6G)(C6G)和AWS Raveriton3(C7G)。

  Apache Apisix是一种云,高性能,可伸缩的API网关。与传统的API网关相比,基于Ngnix+luajit和ETCD,APISIX具有动态路由和插入热加载的特征,这特别适合于云本机体系结构下的API管理。

  在测试之前,您需要准备配备ARM64芯片的服务器。在这里,我们选择Amazon EC2 C7G(现在只有该型号配备AWS Graviton3),并且操作系统选择Ubuntu 20.04。

  同时安装Docker。

  目前,Apisix发布了最新版本的ARM64镜像,可以由Docker制作。对于特定过程,请参阅以下内容:

  根据以前的操作,APISIX基于官方脚本成功完成了AWS Graviton 3处理器。LET探讨AWS Graviton2(C6G)和AWS Graviton3(C7G)上Apache Apisix的性能。

  为了方便测试,在此示例中,APISIX仅打开一个工人,下面的性能测试数据在单个核心CPU上运行。

  在这种情况下,单个上游(不包括任何插件)主要在纯代理返回源模式下测试APISIX的性能。在本地环境中的测试:

  另一个场景使用单个上游与多个插头合作,此处使用两个插头。它主要测试打开时APISIX的性能和两个核心消费性能插件。

  在上述两种情况下,从两个级别的请求处理和延迟时间进行了相关的测试和比较。结果如下:

  AWS GRAVITON2AWS graviton3aws graviton2AWS graviton3QPS(请求/s)1300023000(增加76%)1100018000(增加63%)1.110.68(减少38%)1.390.88(减少了37%),例如在CPU的计算情况下。与AWS Graviton2相比,Gateway,AWS Graviton3增长了76%,延迟了38%。该数据优于AWS官员在开始时给出的官方数据(25%的性能提高)。

  本文主要使用Apache Apisix比较AWS Graviton3和AWS Graviton2的性能。您可以看到,在API Gateway CPU密度类型的计算方案中,AWS Graviton3显示了性能怪物的属性。当然,我还建议所有人练习,并期待将来能够在未来计算密集的项目。

  原始:https://juejin.cn/post/7107123242451599373