значение и использование memtable_flush_writer - PullRequest
0 голосов
/ 14 декабря 2018

Может кто-нибудь рассказать о случае использования и значении memtable_flush_writers.И в какой ситуации мы должны настраиваться от значения по умолчанию?Я уже прочитал документацию по datastax, но не выяснил фактическое использование и преимущества.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

По умолчанию memtable_cleanup_threshold вычисляется как: 1 / (memtable_flush_writers + 1)

В YAML есть некоторые указания о том, как установить это значение, как указал Мехул.В противоположность этому, я бы никогда не установил бы это в число ядер, независимо от того, используете ли вы твердотельные накопители.

Проблемы возникают, когда memtable_flush_writers установлен слишком высоко,Ваш узел может быть перегружен небольшими сбросами, которые вызывают уплотнение.Это имеет неприятный побочный эффект: ваш коммит-журнал заполняется и в конечном итоге достигает точки, где он не может справиться с частотой сброса.

Если это произойдет, вы можете принудительно выполнить сброс вручную, используя nodetool flush,Но если вы видите, что ваш коммитлог заполняет ваш диск, хорошо бы попробовать понизить memtable_flush_writers.

ПримечаниеL: Как и во всех "настройках", таких как изменения в Cassandra, я буду вносить постепенные изменения со временем,в отличие от радикальных изменений.Просто чтобы быть в безопасности.

0 голосов
/ 14 декабря 2018

memtable_cleanup_threshold : Когда общий объем памяти, используемой всеми не стирающимися мемблями, превышает это соотношение, Кассандра сбрасывает на диск самый большой мембайт.

memtable_flush_writers :Это определяет количество потоков записываемого записывающего потока.Потоки будут записывать параллельно на диск (sstables).Но изменение этого параметра рекомендуется, если используется твердотельный накопитель (SSD).Примечание. Если ваши каталоги данных поддерживаются твердотельными накопителями, увеличьте этот параметр до количества ядер.

Надеюсь, это решит ваш запрос.

...