使用卡桑德拉1.1.5,一直纏鬥緩慢寫入性能,JVM GC鎖定,......在我們的日誌中,我們看到這款相當頻繁:減少卡桑德拉1.1.x的堆使用
WARN [ScheduledTasks:1] 2013-08-28 09:28:51,983 GCInspector.java (line 145) Heap is 0.8589157615524839 full. You may need to reduce memtable and/or cache sizes. Cassandra will now flush up to the two largest memtables to free up memory. Adjust flush_largest_memtables_at threshold in cassandra.yaml if you don't want Cassandra to do this automatically
最大的memTable在我們的系統中(通過JConsole觀察)運行的數據大小高達20,000,000(我假設它是〜20MB,如果是字節)。
如果很重要,這個列家族幾乎有1B行。
flush_largest_memtables_at
設置爲.75,但似乎我們幾乎連續發生。這張表的模式是重寫,很少讀取。 (本質上是集羣日誌)
行緩存被禁用,密鑰緩存設置爲40MB。我們有8GB的堆與JVM相關聯(24GB物理)。
堆使用率大多在6.5到7.5GB之間。
有關如何減少堆用量的建議?當然,這不是我們在集羣中有多少數據的因素,是嗎? (我們在該羣集中有可用的磁盤空間)
您是否嘗試調整'flush_largest_memtables_at',如警告消息所示? – Raedwald