Я испытываю странную проблему с Cassandra. Мое понимание было в том, что Кассандра была масштабируемой для вставок. Это означает, что если бы я получал 1500 записей с кластером из 2 серверов, я мог бы увеличить это до 4 серверов и получить около 1500 записей/с. Я понимаю, что записи/s могут не увеличиваться линейно с количеством узлов в кластере, но в настоящее время я не вижу увеличения количества записей/с при добавлении большего количества узлов.Вставки Cassandra дросселируются на кластере
Моя текущая настройка что-то вроде этого:
Пакетные вставки с Pycassa используя размер пакета 20 строк. Коэффициент репликации 2 Долгосрочные записи на
Некоторые из столбцов Семейства имеют обычные столбцы, некоторые из которых имеют широкие колонны до нескольких сотен тысяч столбцов. Вставки для ColumnFamilies с широкими столбцами вставляются в несколько партий, а не 20 строк с 100 000 столбцов.
Кластер cassandra представляет собой кластер из 2 узлов, размещенный в EC2, с использованием m1.xlarge с SSD-накопителями (без рейда), а журналы фиксации находятся на том же диске, что и sstables.
Я пробовал масштабирование кластера до 10+ узлов, и я получаю такую же производительность, как и два узла. Я также пытался увеличить количество экземпляров, импортирующих данные, и производительность одинакова, за исключением того, что задержка для каждой операции записи значительно выше. Но независимо от того, что я делаю, я не могу заставить записи работать быстрее 1500/с.
Да, я получаю такую же производительность, с 2-мя клиентами как 10. Но вы правы, серверы Cassandra не связаны с вводом ввода-вывода. Они имеют среднюю нагрузку около 1-2, а кластер выполняет около 500 операций ввода-вывода, что хорошо подходит для дисков. У меня около 500 файлов csv, которые я импортирую в cassandra. Каждый клиент запускает 8 процессов одновременно, загружая другой файл csv. Еще не удачи ... – bwight
Также убедитесь, что ваши клиенты распространяют вставки вокруг кластера, а не все вставляются в один и тот же узел. – Zanson