2016-07-13 3 views
0

Рассмотрим сценарий, в котором у нас есть кластер cassandra с узлами [A, B, C]. Теперь клиент X делает запрос, который переходит на узел A. Теперь, если старый gc запускается на A. Node A будет приостановлено. Теперь, что будет поведение запроса клиента в следующих случаяхПоведение клиента Cassandra во время GC-паузы

  1. GC старт Пауза перед тем запрос клиента достигает начала паузы
  2. GC после запроса клиента достигает

запросит идет на другой узел или ему будет продолжать ждать ответа до указанного таймаута.

Также читает метрику латентности в кассандре, рассматривая это время паузы GC?

ответ

1

Насколько я знаю, драйвер не знает, когда узлы испытывают GC Pause. Предполагается, что GC-паузы обычно будут короткими.

Из того, что я видел, это приводит к тому, что время отклика некоторых запросов иногда увеличивается, если они попадают на узел во время паузы GC.

Я предполагаю, что если пауза GC была достаточно длинной, то клиент получил бы ошибку таймаута и потребовал бы повторить запрос.

Я не использую какие-либо показатели латентности, предоставляемые Cassandra. Я считаю, что более точное измерение задержки в клиентском приложении. Если вы хотите игнорировать всплески латентности от пауз GC, то измерьте среднее время латентности, так как это нечувствительно к времени задержки лазера. Если вы хотите повлиять на всплески, тогда вычислите среднее время ожидания, так как шип потянет среднее значение.

+0

Даже я согласен с тобой измерить метрику задержки в клиентском приложении. В моей клиентской метрике я могу видеть латентные всплески, где, как и при чтении латентности метрики кассандры, таких пиков не наблюдается. Поэтому я подумал, что это может быть связано с gc pause. в любом случае, чтобы подтвердить это? – Vikee

+0

Я не уверен, что есть простой способ. Вы можете установить Cassandra для генерации журналов gc, и вы можете посмотреть на них, чтобы увидеть, когда произошло gc и сколько времени они взяли. Вам нужно будет посмотреть на все узлы, поскольку трудно точно знать, к какому узлу относится конкретный запрос. Рассматривая один из моих кластеров, я вижу, что GC, как правило, занимает от 0,01 до 0,9 секунды, но время от времени будет длиннее одного 2,91 секунды. –

Смежные вопросы