2017-04-04 40 views
0

我與卡桑德拉如何卡桑德拉在記憶功能的工作

1)我有一個4節點數據中心和OpsCenter中,在內存使用方面到In-Memory功能幾個問題,就說明有100GB的內存可用。這是否意味着4個節點中的每個節點都有100GB可用內存,或者是我的數據中心內存容量的100Gb?

2.)如果對於數據中心來說,真正有100GB可用於內存,建議使用全容量?我是否還需要考慮複製因素?假設我有一個15GB的數據,我想將它存儲在In-Memory中,如果複製因子是2,是否會像我們在數據中心的內存中有30GB的數據?

3.)在dse.yaml文件中,有一個屬性具有系統內存百分比「max_memory_to_lock_fraction」的值,默認情況下爲20%。根據Datastax Cassandra的指導原則,我們需要確保內存使用量不超過每個節點可用系統總內存量的45%。這個「max_memory_to_lock_fraction」是需要設置爲45%的參數嗎?

4.)Datastax文檔說,需要刪除內存表中的壓縮。如果確實設置了壓縮,是否會影響讀/寫性能?

5.)dsetool inmemorystatus的輸出有一個名爲「Current Total memory not lock」的參數。該參數中存在的值是否表示可用內存。比如說如果這個值是1024MB,這是否意味着仍然有1GB內存可用。

我正在使用DSE 4.8.11版本。請幫助我,因爲我正在嘗試理解此功能,以充分利用它。

在此先感謝。

+0

請嘗試將您的內容限制爲每個問題的一個實際問題。否則,大部分答案會變得太長而無法對未來的Google Analytics有用。 – Aaron

回答

1

1)這取決於你如何配置它也可以是每個羣集(所有可用的存儲器的),或者可以查看單個節點

2)是,通過因子乘以複製因數增加數據總量的圖。您將不得不在集羣級別考慮這一點。很不錯的工具來幫助你開始:https://www.ecyrd.com/cassandracalculator/

3)是max_memory_to_lock_fraction是你在找什麼

4),它會增加處理時間,因爲在卡桑德拉寫操作實際上是CPU束縛,這可能不是最好的性能明智理念。

5)是的,這意味着仍然有內存(指定數量),但由於設置cassandra無法鎖定它。

+1

Hi Marko,謝謝你的迴應。這真的很有幫助。我正在檢查單個節點的內存使用情況,並且爲每個節點顯示100GB。只是對如何解釋它是針對單個節點還是羣集感到困惑。關於內存 – mick

+0

關於內存解鎖,需要做些什麼來解鎖它?當我們將數據加載到內存表中時會自動完成嗎? – mick

+0

鎖定由節點啓動時的設置定義,您需要增加要鎖定然後重新啓動的數量。 –