2012-03-12 1 views
3

Я запускаю многопользовательский запрос с 330 ключами и 750 столбцами на строку.Множественный запрос к cassandra с phpcassa

Его умирает где-то в коде phpcassa. Самое худшее - это не исключение.

Сценарий прекращается внезапно. Есть ли какие-либо настройки, которые я должен делать?

Сво работает нормально, если я принести несколько столбцов из этих 750 столбцов

Ниже приводится мой API вызова.

MultiGet ($ dataCFKeys, $ столбцов = $ суперстолбцов, $ column_start = "", $ column_finish = "", $ column_reversed = False, $ COLUMN_COUNT = $ ColumnCount, $ super_column = NULL, $ read_consistency_level = 1, $ buffer_size = 100);

Я что-то не хватает. Есть ли какая-либо конфигурация, которая может помочь мне получить эту работу?

Заранее спасибо Manish

+0

Когда он мертв в вашем коде phpcassa, вы зашли в узел cassandra для любого исключения, брошенного в журнал? – Jasonw

ответ

4

Для того, чтобы ответить на вопрос, поставленный: вы, вероятно, попав в PHP max_execution_time - PHP configuration: max_execution_time and max_input_time

В более общем плане, хотя я бы сказал, что это не является хорошим способом для моделирования данных в Кассандре. Если вам нужно перебрать множество данных, используйте Hadoop (http://wiki.apache.org/cassandra/HadoopSupport); в противном случае вы должны моделировать вещи, чтобы вы могли получать нужные данные из одной строки или из индекса.

+0

Спасибо за ответ Jonathan. Мы используем HADOOP для хруста. Но наши данные настолько огромны, что после хруста тоже нужно получить большую часть данных для отображения в пользовательском интерфейсе. –

0

Проведя некоторое время на этой ошибке, я выяснил проблемную область.

Проблема не в PHPCASSA или cassandra.

Проблема заключается в максимальном ограничении памяти, установленном для PHP на моем сервере.