簡體   English   中英

表掃描的 AWS DAX 性能問題

[英]AWS DAX Performance issues with table scan

嗨,我正在做一個需要將所有 dyanamo db 文檔放入內存的項目。 我將使用table.scan() boto3 方法,所有 10k 記錄幾乎需要 33 秒。

我已經配置了 DAX 並將其用於表掃描,這需要將近 42 秒,具有相同的 10k 記錄和相同的 lambda 配置。 我試了多次結果都是一樣的。

我嘗試了以下代碼:

daxclient = amazondax.AmazonDaxClient.resource(endpoint_url="...")
table = daxclient.Table('table_name')
start_time = time.perf_counter()
retry = True
while retry:
     try:
         response = table.scan(TableName ="table_name")
         retry = 'LastEvaluatedKey' in response
         scan_args['ExclusiveStartKey'] = response.get('LastEvaluatedKey')
     except Exception as e:
         print(e)
print(time.perf_counter()-start_time)

我嘗試boto3 getItem()方法,這變得更快,比如第一次需要 0.4 秒,之后需要 0.01 秒。

不知道為什么它不適用於表掃描方法。

請建議。

DAX 不緩存掃描結果。 因此,您不應該期望性能提升,並且由於您在訪問數據庫的過程中會通過額外的服務器彈跳,因此可能會降低性能。

您必須有非常大的項目才能看到這些性能數字。 你經常做掃描嗎? 您可能需要仔細檢查 DynamoDB 是否合適。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM