在cassandra yaml文件中有一個mem表堆大小配置..lets說它是2gb ...現在如果清理閾值是33%..那麼在675 mb的mem表空間被佔用之後.. cassandra會將最大的mem表刷新到磁盤..我的問題是cassandra對剩餘的mem表空間是1373 mb(2048-675)。Cassandra Mem表內容
根據我的理解,在任何時間點memtable空間中的數據不會超過675 Mb,當mem表數據增長超過675 mb時,最大memtable被刷新到磁盤並且mem表空間中的數據大小再次變爲小於675 mb ...並且這個過程繼續......那麼爲什麼我們需要分配2GB的mem表空間......它背後的原因是什麼...... mem表dpace包含mem表以外的任何其他東西。 ..
有使用情況下,您可能希望更頻繁地刷新,在磁盤延遲的臉放棄吞吐量耐久性(特別是環境中的磁盤暫停發生,像EBS支持AWS實例) –
克里斯..感謝了很多澄清..什麼是現在的合理選擇... cassandra 3x使用什麼邏輯來刷新memtable –
我會建議堅持使用默認值,除非有其他原因。即像使用EBS時提到的傑夫一樣。即使在那裏,我會開始使用默認設置,並在嘗試調整之前先在自己的負載下進行一些測試。在調整之前,這些調整應該在memtables之前審查。確保使用推薦的內核設置(http://docs.datastax.com/en/landing_page/doc/landing_page/recommendedSettings.html)並首先查看JVM堆設置。 –