DAX Cost Optimization

0

Customer who is using DAX for several months is asking for guidance on Cost optimization. I’m still waiting for more details but the basic setup is 3 Instances across three AZs. In their words:

We utilize the DAX cluster with 90% CPU utilization in two time windows during the day

(1) window of about 6 hours

(2) window of about 2 hours.

The window lengths are not precise but approximations to enable our discussion. So, we utilize 90% of the DAX cluster only for approximately 8 hours during a day. For the remaining 16 hours, our CPU utilization is down to about 2%.

We have to pay for the full cluster for the entire 24 hours every day because the cluster is always running whether we utilize 90% of it or 2% of it. This is a problem because for about 16 hours every day, we are paying for a 98% un-utilized cluster. Is it possible to optimize the cost in a way so that we don't pay when we do not utilize the cluster. We would be happy to get some guidance from you for cost optimization.

I'm currently investigating Horizontal scaling. It can be possible to have multiple smaller instances for example 6 or 9 during peak times and scale down to 3 in low utilization periods. This depends from the size of the dataset and how well DAX can handle these scaling requests.

What worries me a bit is that I didn’t find anything written about this approach. If anyone has done this (with or without success) or can point me to another approach (adding DAX only during Peak times?) I would like to here about it.

Thanks

AWS
질문됨 4년 전2515회 조회
1개 답변
0
수락된 답변

Scaling the number of nodes could work to help optimize cost, but there is no native way to manage this so it would require custom logic/management. In general, DAX is more efficient with fewer larger nodes rather than many smaller nodes. Typically, the DAX cluster size is not driven by dataset size, but rather by throughput (object size relative to cache hits & misses) of reads and writes. Each node is a replica so the dataset is not sharded across the cluster.

It would be helpful to understand the purpose of DAX in their design. If it is for latency, what is the latency requirement for the read calls? Direct calls to a DynamoDB table have very consistent low ms latency that might be low enough to achieve their performance requirement and could be more cost effective.

ref:

DAX Scaling

DAX Sizing

답변함 4년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠