簡體   English   中英

Aerospike熱鍵錯誤

[英]Aerospike Hot Key error

基於此鏈接 ,我了解到對同一鍵的並發操作請求過多時,會發生熱鍵錯誤。

我目前的情況:

我有一條記錄,它將每5-10秒更新一次,我將有大約20台機器,每台機器每秒查詢10K次,以嘗試讀取該記錄

  • 問題1:僅當存在並發更新事務時才發生熱鍵錯誤,或者並發讀取也可能發生熱鍵錯誤?
  • 問題2:以上鏈接中提到的事務未決限制是集群中的每個節點還是整個集群的限制?
  • 問題3:根據我的閱讀,我們不應該增加事務掛起限制,因為這會影響性能,您能告訴我一些性能數字進行比較嗎? 可以用於事務未決限制的最大值是多少?
  • 問題4:除了在服務器中緩存記錄以外,是否有其他解決方案而不影響性能?

1-均讀取/更新。

2-每個節點。 所有事務都會去往該記錄的主分區的節點以進行更新,並且要讀取,所有事務也將去往該記錄的主分區的節點,除非您有客戶策略也要從擁有副本分區的節點讀取。 。

3-很難給出數字。 它將導致更多的客戶端連接到熱鍵所在的節點,這又會降低性能,具體取決於設置。

4-如果使用案例允許,最簡單的方法是使用只讀副本客戶端策略來減輕跨主分區和副本分區的讀取。 否則,請創建多個密鑰。

根據您的問題詳細信息,您是說您有20台服務器,每台服務器查找同一記錄的速度為10k次/秒?

我們將transaction-pending-limit0以消除對掛起操作的限制,並且能夠在同一密鑰內存中每秒執行約30k次操作。 如果要達到200k ops / sec,則可以使用具有更多節點的群集,並使用“副本副本讀取”設置來獲取吞吐量。

但是,如果記錄僅每5-10秒更改一次,那為什么不每秒讀取一次記錄並在應用程序中緩存結果呢? 即使密鑰不同,應用程序中的智能緩存也會大大減少所需的操作和網絡流量,並使您的系統擴展性更好。 這是最好的選擇。

暫無
暫無

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

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