[英]Aerospike Hot Key error
基於此鏈接 ,我了解到對同一鍵的並發操作請求過多時,會發生熱鍵錯誤。
我目前的情況:
我有一條記錄,它將每5-10秒更新一次,我將有大約20台機器,每台機器每秒查詢10K次,以嘗試讀取該記錄
1-均讀取/更新。
2-每個節點。 所有事務都會去往該記錄的主分區的節點以進行更新,並且要讀取,所有事務也將去往該記錄的主分區的節點,除非您有客戶策略也要從擁有副本分區的節點讀取。 。
3-很難給出數字。 它將導致更多的客戶端連接到熱鍵所在的節點,這又會降低性能,具體取決於設置。
4-如果使用案例允許,最簡單的方法是使用只讀副本客戶端策略來減輕跨主分區和副本分區的讀取。 否則,請創建多個密鑰。
根據您的問題詳細信息,您是說您有20台服務器,每台服務器查找同一記錄的速度為10k次/秒?
我們將transaction-pending-limit
為0
以消除對掛起操作的限制,並且能夠在同一密鑰內存中每秒執行約30k次操作。 如果要達到200k ops / sec,則可以使用具有更多節點的群集,並使用“副本副本讀取”設置來獲取吞吐量。
但是,如果記錄僅每5-10秒更改一次,那為什么不每秒讀取一次記錄並在應用程序中緩存結果呢? 即使密鑰不同,應用程序中的智能緩存也會大大減少所需的操作和網絡流量,並使您的系統擴展性更好。 這是最好的選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.