Кассандра не считывала данные из ssttable

Протестируйте кассандру с помощью YCSB и используя рабочую нагрузкуc (чтение 100%). И iostat всегда показывает 0 при чтении.

Конфигурации:

данные находятся в sdb, данные 24 ГБ, размер кучи 8 ГБ, размер memtable по умолчанию, отключение кеширования строк и кеширования ключей.

Как я думал, единый запрос приведет к пропуску memtable и поиску данных в ssttable, поэтому data dir iostat не должен быть нулевым. Как может таблица памяти кучи 8G хранить все данные 24G?

Кто-нибудь сталкивался с той же проблемой?


person user1900404    schedule 13.12.2012    source источник


Ответы (2)


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

У меня есть копия YCSB, и workloadc использует requestdistribution = zipfian, который НЕ является единообразным.

person jbellis    schedule 23.12.2012

сколько всего памяти на машине? Если у вас 32 ГБ или более ОЗУ на компьютере, то это также может быть кеш страницы ОС, который находится вне процесса Cassandra (например, не в куче). В подобных сценариях ОС (при условии, что это Linux) закэширует все 24 ГБ памяти, и вы получите небольшую активность на диске.

person Paul M    schedule 26.02.2013