У меня есть 4 узла Cassandra 2.1.13 Кластер с настройками ниже.Управление памятью кэша Cassandra
32 GB Ram Max HEAP SIZE - 8 GB 250 ГБ Жесткий диск Каждый (не SSD).
Я пытаюсь выполнить нагрузочный тест при записи и чтении. Я создал многопоточную программу для создания 50 миллионов записей. Каждая строка содержит 30 столбцов.
Я смог вставить 50 миллионов записей за 84 минуты со скоростью 9,5 тыс. Вставки в секунду.
Далее я пытался прочитать эти 50 миллионов записей случайным образом с использованием 32 клиентов, и я смог читать 28K в секунду.
Проблема возникает через некоторое время, память заполняется и большая часть ее кэшируется. почти 20 ГБ. Через некоторое время система зависает из-за нехватки памяти.
Если я очищаю кэш-память, моя скорость чтения снижается до 100 в секунду.
Как я могу управлять своей кэш-памятью, не влияя на производительность чтения.
Сообщите мне, если вам нужна дополнительная информация.
Как вы можете проверить, что «память заполнена»? Есть ли исключения OOM в журналах Cassandra? Вы настроили пространство подкачки для системы? –
используя верхнюю команду, я вижу, что доступно менее 500 МБ. Используется 11 ГБ, и все остальные кэшируются. Swap отключен. –