Cassandra хранилище против изменения размера памяти - PullRequest
3 голосов
/ 13 декабря 2011

Я подумываю о разработке приложения с бэкэндом Cassandra.Я надеюсь, что смогу запустить каждый узел cassandra на обычном оборудовании со следующими характеристиками:

  • Четырехъядерный процессор 2 ГГц i7
  • 2x 750 ГБ, жесткие диски
  • 16 ГБ установленной ОЗУ

Теперь я читал в Интернете, что доступное дисковое пространство для Cassandra должно быть в два раза больше, чем хранится на дисках, что будет означать, что каждый узел (настроенв конфигурации RAID-1) сможет хранить 375 ГБ данных, что является приемлемым.

Мой вопрос заключается в том, достаточно ли 16 ГБ ОЗУ для эффективного обслуживания 375 ГБ данных на узел.Данные в разрабатываемом приложении также будут зависеть от времени, так что последние данные будут наиболее считанными из базы данных.Фактически, большая часть данных будет удалена примерно через 6 месяцев.

Кроме того, я бы назначил Кассандре кучу (-Xmx), близкую к 16 ГБ, или Кассандра использует память вне кучи?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2011

Не следует устанавливать кучу Кассандры более 8 ГБ; больше этого, и сборка мусора убьет вас с большими паузами. Cassandra будет использовать буферный кеш (как и другие приложения), поэтому оставшаяся память не будет потрачена впустую.

16 ГБ ОЗУ будет достаточно для обслуживания данных, если все ваши оперативные наборы поместятся в ОЗУ или если скорость обслуживания может быть подана с диска. Диски могут выполнять около 100 случайных операций ввода-вывода, поэтому при настройке, если вам нужно более 200 операций чтения / с, вам необходимо убедиться, что данные находятся в кэше. Cassandra экспортирует хорошую статистику кеша (cassandra-cli show keyspaces), поэтому вы легко сможете определить, насколько эффективен ваш кеш.

Имейте в виду, что только с двумя дисками в RAID-1 у вас не будет выделенного журнала коммитов. Это может сильно ухудшить производительность записи. Возможно, вы захотите отключить журнал фиксации, если он влияет на производительность, и отказаться от длительной записи.

1 голос
/ 13 марта 2012

Хотя, вероятно, не стоит использовать действительно огромную кучу с Cassandra, в моей компании мы использовали кучи размером от 10 ГБ до 12 ГБ без каких-либо проблем. Наши серверы обычно имеют как минимум 48 ГБ памяти (оперативная память дешевая - так почему бы и нет :-)), и поэтому мы можем попытаться расширить кучу еще немного и посмотреть, что произойдет.

...