我正在通过boto测试dynamodb,并发现基于hashkey,rangekey条件查询检索数据集的速度非常慢.我已经看到一些关于导致ssl(is_secure)执行速度比非ssl快6倍的奇怪性的讨论,我可以确认找到.但是,即使使用SSL我看到1-2秒检索300条记录使用一个相当小的数据集(小于1K记录)一个hashkey /范围键条件.
运行profilehooks探查我看到很多在ssl.py花的20617个ncalls的顺序检索300条记录无关的时间.看起来即使每次记录10个电话,它仍然比我预期的多6倍.这是在一个中型实例上 - 尽管在微型实例上会出现相同的结果.500次读取/秒1000次写入/秒配置,不记录任何节流.
我已经看过做批处理请求但是无法使用范围键条件为我省去了这个选项.
任何关于我失去时间的想法都将不胜感激!
144244 function calls in 2.083 CPU seconds
Run Code Online (Sandbox Code Playgroud)
订购方式:累计时间,内部时间,通话次数
ncalls tottime percall cumtime percall filename:lineno(function)
1 0.001 0.001 2.083 2.083 eventstream.py:427(session_range)
107 0.006 0.000 2.081 0.019 dynamoDB.py:36(rangeQ)
408 0.003 0.000 2.073 0.005 layer2.py:493(query)
107 0.001 0.000 2.046 0.019 layer1.py:435(query)
107 0.002 0.000 2.040 0.019 layer1.py:119(make_request)
107 0.006 0.000 1.988 0.019 connection.py:699(_mexe)
107 0.001 0.000 1.916 0.018 httplib.py:956(getresponse)
107 0.002 0.000 1.913 0.018 httplib.py:384(begin)
662 0.049 0.000 1.888 0.003 socket.py:403(readline)
20617 0.040 0.000 1.824 0.000 …Run Code Online (Sandbox Code Playgroud)