Мое приложение Cassandra предполагает в основном счетчик записи и чтения.Таким образом, наличие счетчика кэша важно для производительности.Я увеличил размер кэша счетчика в cassandra.yaml с 1000 до 3500 и сделал перезапуск службы cassandra.Результаты оказались не такими, как я ожидал.Использование диска возросло, пропускная способность снизилась, и кажется, что кеш счетчика вообще не используется, в зависимости от того, что я вижу в информации об nodetool (см. Ниже).Прошло уже почти два часа, а производительность все еще очень плохая.
Я видел эту же модель вчера, когда я увеличил кэш счетчика с 0 до 1000. Это продолжалось довольно долго без использования кэша счетчика вообще, а затем дляпо какой-то причине он начал использовать его.У меня вопрос, есть ли что-то, что мне нужно сделать, чтобы активировать использование кэша счетчика?
Вот мои настройки в cassandra.yaml для кэша счетчика:
counter_cache_size_in_mb: 3500
counter_cache_save_period: 7200
counter_cache_keys_to_save: (currently left unset)
Вот что я получаюинформации о nodetool примерно через 90 минут:
Gossip active : true
Thrift active : false
Native Transport active: false
Load : 1.64 TiB
Generation No : 1559914322
Uptime (seconds) : 6869
Heap Memory (MB) : 15796.00 / 20480.00
Off Heap Memory (MB) : 1265.64
Data Center : WDC07
Rack : R10
Exceptions : 0
Key Cache : entries 1345871, size 1.79 GiB, capacity 1.95 GiB, 67936405 hits, 83407954 requests, 0.815 recent hit rate, 14400 save period in seconds
Row Cache : entries 0, size 0 bytes, capacity 0 bytes, 0 hits, 0 requests, NaN recent hit rate, 0 save period in seconds
Counter Cache : entries 5294462, size 778.34 MiB, capacity 3.42 GiB, 0 hits, 0 requests, NaN recent hit rate, 7200 save period in seconds
Chunk Cache : entries 24064, size 1.47 GiB, capacity 1.47 GiB, 65602315 misses, 83689310 requests, 0.216 recent hit rate, 3968.677 microseconds miss latency
Percent Repaired : 8.561186035383143%
Token : (invoke with -T/--tokens to see all 256 tokens)
Вот информация о nodetool в Counter Cache до увеличения размера:
Counter Cache : entries 6802239, size 1000 MiB, capacity 1000 MiB,
57154988 hits, 435820358 requests, 0.131 recent hit rate,
7200 save period in seconds
Обновление: я работал уже несколько днейсейчас пробуем разные значения счетчика размера кэша на разных узлах.Постоянно, что кэш счетчика не включен, пока не достигнет своей емкости.Вот как это работает, насколько я могу судить.Если кто-нибудь знает способ включить кэш до его заполнения, дайте мне знать.Я устанавливаю его очень высоко, потому что он кажется оптимальным, но это означает, что кэш не работает в течение нескольких часов, пока он заполнен, и пока он не работает, мои диски абсолютно перегружены запросами на чтение ...
Другое обновление: Дальнейшая работа показывает, что иногда кэш счетчика срабатывает до того, как заполняется.Я действительно не знаю, почему это так.Я еще не вижу закономерности.Я хотел бы знать критерии, когда это работает и не работает.
Последнее обновление: когда кэш счетчика заполняется, собственный транспорт также отключен для узла.Установка счетчика на 3,5 ГБ Сейчас я собираюсь работать 24 часа с узлом в этом состоянии низкой производительности с отключенным собственным транспортом.