У меня есть следующие ColumnFamily определены в Кассандрепроизводительность Cassandra чтение с коллекцией
CREATE TABLE metric (
period int,
rollup int,
tenant text,
path text,
time bigint,
data list<double>,
PRIMARY KEY ((tenant, period, rollup, path), time)
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
index_interval=128 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='NONE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};
размера списка данных влияют ли производительность чтения в Кассандре? Если да, то как мы можем его измерить ..?
Проблема заключается в том, что время, затрачиваемое на запрос Data-Set1 из cassandra для получения 8640 строк (где # элементов в списке данных для каждой строки - 90) для данной комбинации пути/периода/свертки больше, чем время, необходимое для запроса Data-Set 2, который составляет 8640 строк данных (где количество элементов в списке данных для каждой строки равно 10).
Кроме того, если я запускаю тест производительности с 10 пользователями, получающими доступ к Data-Set1 одновременно, то я начинаю видеть тайм-ауты cassandra в бэкэнд, и он тратит много времени на сборку Мусора, но то же самое не происходит, когда я делаю то же самое, запросив Data-Set2.
Итак, я заключу, что количество элементов в списке данных влияет на производительность.
Вы видите похожие проблемы с производительностью в вашем стеке cassandra ....?