Latency refers to the amount of time successful requests take in the DynamoDB system. It does not reflect network or client latency, or latency of non-successful requests. DynamoDB is designed for single-digit millisecond latency, but some workloads will experience higher latency than that. This recommendation only considers latency for the Query, GetItem, and BatchGetItem operations.
High read latency on a DynamoDB table can cause:
If you are experiencing request timeouts when doing Query or BatchGetItem requests, you can limit the number of items requested to reduce latency. In rare cases, AWS might be experiencing an issue with the DynamoDB service which can cause increased latency.
In a read-heavy application, considerable performance gains can be achieved by using Amazon DynamoDB Accelerator (DAX). DAX is a fully managed caching layer provided by Amazon that can increase performance by up to 10x. It works by caching read requests from DynamoDB in memory. A single DAX cluster can serve multiple DynamoDB tables, and can be scaled separately from the tables.
Note: Our system uses DynamoDB metrics in Amazon CloudWatch to detect possible issues with DynamoDB. Due to the API limitations of CloudWatch, there can be a delay of as many as 20 minutes before our system can detect these issues.