Я работаю над приложением, которое требует регулярной записи и массивные чтения сразу.Apache Cassandra падает при большой нагрузке на чтение
Приложение хранит несколько текстовых столбцов, которые не очень большие по размеру и карта которых является наибольшим столбцом в таблице.
Работа с Phantom-DSL в Scala (Драйвер Java Datastax), мое приложение падает при увеличении размера данных.
Вот бланк из моей заявки.
[error] - com.websudos.phantom - All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.OperationTimedOutException: [/127.0.0.1:9042] Operation timed out))
И вот cassandra logs.
Я опубликовал журналы Cassandra в пастебине, потому что они были довольно большими, чтобы быть встроенными в ответы.
Я не могу понять причины этой аварии. Я попытался увеличить тайм-аут и отключить кеш строк.
Из чего я понимаю, это основная проблема и может быть решена путем настройки кассандры для этого особого случая.
Использование моей кассандры происходит из разных источников данных. Так что записи не очень часты. Но чтение большого размера в том, что может потребоваться более 300K строк, которые затем должны быть переданы через HTTP.
У вас есть пейджинг включен в java-драйвере? Если нет, включите его. Если да, попробуйте уменьшить размер страницы (я думаю, что значение по умолчанию составляет 5 тыс. Строк). Ваша проблема в том, что сборщик мусора JVM не может идти в ногу, потенциально, потому что вы слишком много времени вытаскиваете в кучу. –