У меня был единственный кластер cassandra узла на EC2. Я тестировал его, и он отлично работал.Множественный кластер cassandra узла очень медленный
Но тогда мне пришлось переместить этот кластер в VPC, поэтому вместо переноса данных я создал новый кластер с двумя узлами (оба семестра) и импортировал данные из прежнего кластера с помощью sstableloader
.
Я думал, что это очень медленно, поэтому решил добавить еще два экземпляра (а не семена). Это еще медленнее.
Я использую ОДИН консистенцию, и мой коэффициент репликации равен 1, поэтому я не совсем понимаю, почему это так медленно.
Чтобы дать вам представление, Я могу делать только 3 раза в секунду. Мы используем EC2Snitch, но не AMI, рекомендованный Cassandra, хотя (мы не видели эту часть в документации, когда мы ее установили).
Я еще не запускал очистку на двух первых узлах после добавления двух новых узлов.
Когда я запрашиваю все элементы семейства столбцов, которые содержат только дюжину строк, время истекает. Если я запрошу один элемент, я получаю результат через долгое время и с огромной трассировочной сессией (~ 30000 строк ...)!
Кто-нибудь знает, что я могу сделать, чтобы сделать это быстрее? Я не совсем понимаю, где сейчас смотреть.
Моя версия Cassandra - Cassandra 2.1.3. Вот моя схема пространство ключей:
CREATE KEYSPACE keyspace_name WITH replication = {'class': 'NetworkTopologyStrategy', 'us-west-2': '1'} AND durable_writes = true;
И варианты нашей семьи колонке
CREATE TABLE keyspace_name."CFName" (
// ...
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
Включая версию, которую вы используете, ваша схема ключей/таблиц и трассировка запроса будут полезной информацией. Редактировать: пасти трассировку и ссылку на нее :) – mshuler
@mshuler: Done, я не могу воспроизвести ошибку, к которой я, к сожалению (я получил свои результаты), но она все еще очень медленная! –
@ JulienFouilhé Можете ли вы предоставить результат состояния nodetool, tpstats и netstats? –