<分区>
我们使用在新加坡地区托管的一系列 AWS 服务。我们有几个 EC2 实例和一个 RDS 实例。我们计划将我们的一些数据迁移到 Amazon DynamoDB,这将有助于我们的应用程序数据设计。
不幸的是,DynamoDB 总是比 RDS 慢。我在与我们的 EC2 实例相同的区域中创建的表中写入了一行。使用适用于 php 的 AmazonAWS SDK 读取此行需要超过 1 秒,而使用 mysql 从 RDS 获取一行所需的时间比这少 10 倍以上。
我们可以做些什么来优化它吗?我已禁用 SSL,但我认为这没有太大区别。
可能吧。 DynamoDB 具有相当大的延迟,并且运行在比 RDS 托管数据库(MySQL、SQL Server、Oracle)更厚的应用程序堆栈之上。
但是,在我看来,DynamoDB(以及大多数 NoSQL 数据库)的主要优势在于延迟是可靠的。如果您看到记录检索有 400 毫秒的延迟,您可以指望 1 个 session 或 100,000 个 session 的 400 毫秒延迟。
[注意:1 秒看起来确实很长 - 在大多数情况下我们能够获得多条记录 < 秒,但我并没有真正将 DynamoDB 方法用于特定于 PHP 的 SDK(只是 .Net)。我想知道是否有其他东西可能成为瓶颈。]