Amazon ec2 Amazon DynamoDB客户端太慢了

Amazon ec2 Amazon DynamoDB客户端太慢了,amazon-ec2,amazon-dynamodb,Amazon Ec2,Amazon Dynamodb,我刚刚尝试了亚马逊的dynamodb示例 我理解db本身的优势,但我发现它使用http连接来写和读数据。 如果我每秒有1000次写入,这是否意味着我需要有1000个可用的连接来写入?如果是这样的话,它对客户端服务器来说不是太重了吗 有没有办法像普通数据库一样使用TCP进行连接?谢谢。吞吐量为1000次写入/秒意味着您的数据以这种方式分布,以保证您在一秒钟内成功写入1000次数据。 dynamodb在可扩展的环境中非常快速和可靠 您不是在为每个查询打开连接,而是在发出请求。因为您在amazon内部

我刚刚尝试了亚马逊的dynamodb示例

我理解db本身的优势,但我发现它使用http连接来写和读数据。 如果我每秒有1000次写入,这是否意味着我需要有1000个可用的连接来写入?如果是这样的话,它对客户端服务器来说不是太重了吗


有没有办法像普通数据库一样使用TCP进行连接?谢谢。

吞吐量为1000次写入/秒意味着您的数据以这种方式分布,以保证您在一秒钟内成功写入1000次数据。
dynamodb在可扩展的环境中非常快速和可靠

您不是在为每个查询打开连接,而是在发出请求。因为您在amazon内部的高速网络中,即使使用http,延迟也非常低。当然,TCP可能会“更快”,但这只是在比较非真实世界中的连接速度。使用HTTP的真正好处是可以非常轻松地扩展它。他们所做的是在每个请求上增加几毫秒的延迟,作为回报,他们保证请求将少于10毫秒。在他们的文档中,他们声明他们保证的响应时间是个位数ms


因此,如果您只是比较协议,那么确定HTTP比TCP慢。但是,当您实际查看该产品时,您会发现它的速度远远不慢,它可能是您在开始考虑大型数据集时可以设计的最快的数据库之一。

如果您希望每秒写入1000次,则需要将表的写入吞吐量配置为1000,假设每个数据项大小为1KB,如果小于或大于1KB,请在除以1KB后使用舍入数,例如1.6kb/1KB=1.6~2,即每秒1000次写入的写入吞吐量必须为2000。即使在http连接之后,考虑到我们的插入服务也在同一EC2区域中运行,我发现它非常快

这意味着AWS SDK将自己维护一个连接池?所以,我应该为每个请求创建一个静态客户机对象还是更好的init新对象呢?http没有真正的连接池。Http具有您所称的持久连接并保持活动状态。但为了让应用程序发挥最大的性能,您仍然需要同时打开多个连接。您可以为每个线程创建一个SimpleDB实例。