Запросы родного транспорта в Кассандре - PullRequest
0 голосов
/ 20 мая 2018

Я получил несколько баллов о запросах собственного транспорта в Кассандре, используя эту ссылку: Что такое собственные запросы транспорта в Кассандре?

Насколько я понимаю, любой запрос, который я выполняю в Кассандре, являетсяСобственные транспортные запросы.

Я часто получаю Ошибка истечения времени ожидания в Cassandra, и я наблюдал следующие журналы в Cassandra журнал отладки , а также при использовании nodetool tpstats

/var/log/cassandra# nodetool tpstats
Pool Name                    Active   Pending      Completed   Blocked  All time blocked
MutationStage                     0         0      186933949         0                 0
ViewMutationStage                 0         0              0         0                 0
ReadStage                         0         0      781880580         0                 0
RequestResponseStage              0         0        5783147         0                 0
ReadRepairStage                   0         0              0         0                 0
CounterMutationStage              0         0       14430168         0                 0
MiscStage                         0         0              0         0                 0
CompactionExecutor                0         0         366708         0                 0
MemtableReclaimMemory             0         0            788         0                 0
PendingRangeCalculator            0         0              1         0                 0
GossipStage                       0         0              0         0                 0
SecondaryIndexManagement          0         0              0         0                 0
HintsDispatcher                   0         0              0         0                 0
MigrationStage                    0         0              0         0                 0
MemtablePostFlush                 0         0            799         0                 0
ValidationExecutor                0         0              0         0                 0
Sampler                           0         0              0         0                 0
MemtableFlushWriter               0         0            788         0                 0
InternalResponseStage             0         0              0         0                 0
AntiEntropyStage                  0         0              0         0                 0
CacheCleanupExecutor              0         0              0         0                 0
Native-Transport-Requests         0         0      477629331         0           1063468

Message type           Dropped
READ                         0
RANGE_SLICE                  0
_TRACE                       0
HINT                         0
MUTATION                     0
COUNTER_MUTATION             0
BATCH_STORE                  0
BATCH_REMOVE                 0
REQUEST_RESPONSE             0
PAGED_RANGE                  0
READ_REPAIR                  0

1) Что такое состояние All time blocked?
2) Что означает это значение: 1063468 обозначает?Насколько это вредно?
3) Как это настроить?

1 Ответ

0 голосов
/ 20 мая 2018

Каждый запрос обрабатывается на этапе NTR перед передачей на этап чтения / мутации, но он все еще блокируется в ожидании завершения.Чтобы предотвратить перегрузку, сцена начинает блокировать добавление задач в свою очередь, чтобы оказать обратное давление на клиента.Каждый раз, когда запрос блокируется, счетчик all time blocked увеличивается.Таким образом, 1063468 запросы были заблокированы на некоторое время из-за необходимости резервного копирования многих запросов.

В ситуациях, когда в приложении есть пики запросов, эта блокировка не нужна и может вызвать проблемы, поэтому выможет увеличить этот предел очереди примерно на -Dcassandra.max_queued_native_transport_requests=4096 (по умолчанию 128).Вы также можете регулировать запросы на стороне клиента, но id попытайтесь сначала увеличить размер очереди.

Могут также быть некоторые запросы, которые чрезвычайно медленны и засоряют вашу систему.Если у вас есть настройка мониторинга, посмотрите на высокие процентили задержки чтения / записи координатора.Вы также можете использовать nodetool proxyhistograms.Возможно, что-то в вашей модели данных или запросах вызывает проблемы.

...