2015-03-13 2 views
1

У меня был единственный кластер 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'; 
+0

Включая версию, которую вы используете, ваша схема ключей/таблиц и трассировка запроса будут полезной информацией. Редактировать: пасти трассировку и ссылку на нее :) – mshuler

+0

@mshuler: Done, я не могу воспроизвести ошибку, к которой я, к сожалению (я получил свои результаты), но она все еще очень медленная! –

+0

@ JulienFouilhé Можете ли вы предоставить результат состояния nodetool, tpstats и netstats? –

ответ

0

мне пришлось запустить уплотнению на моих узлах, потому что я too many tombstones.

Большое спасибо изумительному каналу IRC на freenode #cassandra.