使用 Graviton 2优化Serverless车联网架构
一、背景介绍
AWS Graviton 由 Amazon Web Services 基于64 位 Arm Neoverse N1 内核定制,为在 Amazon计算资源中运行的工作负载提供更高性价比运行环境。与当前这一代基于 x86 的实例相比,基于Graviton 2的实例为各种工作负载(包括应用程序服务器、微服务、高性能计算、EDA、游戏、开源数据库和内存中的缓存)提供高达 40% 的性价比提升。除了基于x86 Amazon EC2 实例外,Amazon Lambda现在还允许您配置新的和现有的函数在基于Arm的Amazon Graviton 2处理器上运行。使用此处理器架构选项,您可以获得高达34%的性价比提升。
在汽车行业,AWS发布了针对车联领域的AWS 联网汽车解决方案架构,有许多客户也借助该方案基于AWS的无服务化服务的优势来快速高效的构建自己的车联网应用。除高可用,高性能外,在成本方面AWS也致力于持续为客户优化成本,本文主要以某客户真实场景为背景,着重介绍如何在Lambda中使用AWS Graviton 2 进一步优化车辆网应用的成本。
二、环境部署测试
环境说明:
- 如上图通过AWS SAM 构建一个相似的车联网数据收集场景。
- API Gateway 负责数据接入,Lambda 函数把接受数据并写入到DynamoDB中。
- Amazon Lambda函数分别运行在x86 和 arm64 Architecture中,进行对比测试。
- Lambda 函数使用python 3.9 开发,内存配置为256M。
- 本环境在us-east-2区域进行构建,使用EC2 IAM role 获取相应操作权限。
环境部署
- 安装SAM
- 编写Lamdba 函数及环境模板
- SAM部署
创建S3 bucket
部署SAM模板
此过程需要几分钟完成。
通过控制台确定所有资源已正常运行。如下图:
- 测试验证
获取api gateway endpoint
- Cold start test
模拟发送数据,验证Lamdba函数基于x86架构的链路响应
Total: 0.627213s
模拟发送数据,验证Lamdba函数基于arm架构的链路响应
Total: 0.551996s
另外也可以通过X-RAY 更加直观的查看两种架构的响应情况。
(Lambda x86)
(Lambda arm)
- Duration test
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0.078070s | 0.069882s | 0.077301s | 0.065671s | 0.067726s | 0.080177s | 0.074370s | 0.066984s | 0.073227s | 0.072684s |
(Lambda x86)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
0.073550s | 0.073990s | 0.068542s | 0.062004s | 0.089615s | 0.060765s | 0.065035s | 0.062175s | 0.085470s | 0.079319s |
(Lambda arm)
- Apache Benchmark 并发测试
安装apache benchmark
Lambda x86 并发数为100时,服务器平均请求等待时间为1.873ms
Lambda arm 并发数为100时,服务器平均请求等待时间为1.498ms
三、总结
我们可以看到本场景中同样的条件下,由 Graviton2 提供支持的 Lambda 函数具有更好的性能,函数可以更高效地运行;另外使用 Arm/Graviton2 架构的函数,持续时间费用比 x86 的当前定价低 20%,使用预置并发的函数的持续时间费用也可减少 20%。因此,由 Graviton2 提供支持的 Lambda 函数可以降低 20% 的成本的同时提供更高的性能提升,从而为客户提供了更完善的用户体验和更低的成本节约。
四、参考资料
https://github.com/aws/aws-sam-cli/releases/
https://aws.amazon.com/cn/lambda/pricing/
本篇作者
相关文章
- Edge Canary新特性:可从侧边栏快速启动Discover等功能
- 是什么让 Linux 成为可持续的操作系统
- 版本号刷得太快 微软也要测试Edge v100版浏览器兼容问题
- 终于大改版!Windows 11任务管理器新UI多图抢先看
- HarmonyOS实现音视频分离合成和截取
- OpenHarmony轻量系统开发【3】代码编译和烧录
- OpenHarmony轻量系统开发【2】源码下载和开发环境
- 两万字系统总结,带你实现 Linux 命令自由?
- Chrome 的画中画模式有望在 Windows 11 上获得重大更新
- 只需一条命令,快速找回Windows 10/11消失的“高级启动选项”菜单
- Linux下的TCP测试工具
- bpftrace:这个超好用的 Linux 性能工具,你还不知道?
- 一款比 htop 更强大的系统资源监控工具
- Linux 5.17引入“RTLA”:实时Linux性能分析与追踪工具
- 不再仅限 X11 和 Wayland,Firefox 获得更全面的 VA-API 支持
- Startpage 搜索引擎推出开源浏览器扩展,保护用户隐私数据
- Google Chrome新改进:使手动保存网站密码变得更加容易
- Linux驱动小技巧 | 利用DRIVER_ATTR实现调用内核函数
- 强大!微软发Windows 2022系统新版:镜像免费下载
- 为什么你应该安装使用 Arch Linux