2016-09-14 2 views
3

Когда я удаляю таблицу в Кассандре, она приближается к вечности.Зачем бросать стол в Кассандру на много минут?

Из того, что я вижу, это потому, что он сначала создает снимок таблицы. Тем не менее, я не понимаю, что они говорят, что моментальный снимок делается путем создания жесткой связи с Copy on Write. Итак ... Почему это так долго? Как только жесткая ссылка создана, вы удаляете исходный файл, и это займет секундную долю, верно?

На моих виртуальных машинах и даже на моем основном компьютере может потребоваться несколько минут, чтобы удалить один стол!

ответ

7

Одна минута немного высока, и я не думаю, что моментальный снимок может занять много времени. То, что вы, вероятно, видите, это memtables flushing до снимки сделаны, и флеш может привести к уплотнению.

Попробуйте отключить свойство auto_snapshot в файле yaml и еще раз проверьте, сколько времени потребуется. Проверьте также количество sstables, так как без снимков C * удалит все из них, и пока их количество будет достаточно низким, производительность должна быть хорошей, но когда у вас есть большое количество sstables, unlink скорость работы вашей файловой системы будет вашим узким местом.

+0

Да, я просто изменил опцию 'auto_snapshot'. Я посмотрю, что произойдет в следующий раз, когда я сделаю каплю. Мой доступ к жестким дискам на виртуальных машинах очень медленный. Я думал, что это может быть потому, что у меня два диска, используемые в RAID, и у них нет одинаковой скорости (5000 и 7200 соответственно.) Тем не менее, когда я впервые начал работу с Cassandra, это было намного быстрее. (Я начал с 0,8) –

Смежные вопросы