gpt4 book ai didi

node.js - DynamoDB REST API 可能的写入吞吐量

转载 作者:搜寻专家 更新时间:2023-11-01 00:09:04 24 4
gpt4 key购买 nike

我目前正在使用 NodeJS 和 DynamoDB 运行一些性能测试。尤其是我对将项目持久保存到 DynamoDB 的一个 NodeJS 进程可能的写入吞吐量感兴趣。

我在 EC2 m1.medium 实例上运行了我的测试。要访问 DynamoDB,我使用 dynamo NodeJS 模块。在测试期间,我配置了一个具有 1000 个写入容量单位的 DynamoDB 表。我保留了大约 700 字节大小的项目。

这些测试的结果是最大值。该系统的写入吞吐量约为 300 项/秒。在此吞吐量下,EC2 实例的虚拟 CPU 几乎达到 100%。

请记住,调用 API 基本上就是调用 HTTP REST 服务,与这篇文章相比,结果看起来更真实:What is the performance for Node.js' http.request ? How many concurrent request it can handle?

谁能确认我的测试结果,或者您是否遇到了不同的结果?有人测试过 AWS DynamoDB JAVA 或 C# SDK 吗?你在那里得到什么性能?

更新: 300 个项目/秒是 Nodetime启用。否则,限制约为 780 项/秒,这会推送到 DynamoDB REST API。

最佳答案

您的瓶颈似乎是 m1.medium 实例。由于没有太多使用 node.js,我不能说另一个选项是否会执行得更好,但据我所知,node.js 是您可以使用的更轻量级的选择之一。请记住,对 DynamoDB 等 AWS 服务的 REST 调用不仅仅是简单的 REST 调用,它们需要为每个请求创建一个签名,这需要一些基本的散列和加密,这可能是 CPU 以这种方式运行的原因。对一个小字符串进行哈希处理可能看起来不是很多,但是当你必须每秒执行 300 次时,它很容易杀死 CPU。

我的建议是使用另一种实例类型,例如,c1.medium 将比 m1.medium 多提供 150% 的功能。除此之外你也可以尝试用python或php编写一个简单的测试脚本,看看结果与node.js相比如何。

关于node.js - DynamoDB REST API 可能的写入吞吐量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com