2016-07-26 18 views
2

Ich habe 3 Tabellen:Warum unterscheidet sich die Dynamodb-Leistung zwischen diesen Abfragen?

table 1 
======= 
Size 458.54 MB 
Count 2,887,152 

table 2 
======= 
Size 161.05 MB 
Count 1,060,444 

table 3 
======= 
Size 4.10 GB 
Count 2,629,162 

ich alle 3 Tabellen zu 500 Lesekapazitätseinheiten bereitgestellt haben (RCU) und Paginieren über 20 Seiten python2.7 und eine einfache boto3.scan() verwenden.

Warum ist die Dauer so unterschiedlich, während sie genau die gleichen RCUs verbrauchen?

table 1 
======= 
seconds: 65.7738468647 
row_count: 131925 
scanned_count: 131925 
consumed_capacity: 2570.0 

table 2 
======= 
seconds: 97.8232300282 
row_count: 138092 
scanned_count: 138092 
consumed_capacity: 2570.0 

table 3 
======= 
seconds: 37.8384461403 
row_count: 13416 
scanned_count: 13416 
consumed_capacity: 2571.0 

Antwort

2

Der Unterschied ist in der Boto3-Antwort Parser. Größere, kompliziertere Objekte benötigen mehr Zeit zum Parsen. Ich stelle mir vor, wenn Sie die Objekte in jeder dieser Tabellen betrachten, sehen Sie eine Korrelation zwischen komplizierteren Objekten und der Abfragegeschwindigkeit. Die Transferzeit wird sich auch signifikant auswirken.