Как локализовать отставание узла Solana между приёмом шредов и воспроизведением

У двух отстающих узлов причины задержки могут различаться. Один получает мало новых данных, другой записывает шреды быстрее, чем успевает воспроизводить цепочку.

Соберите оба счётчика на одном узле

Этим запросом получите максимальный слот, для которого шреды попали в blockstore. Затем вызовите getSlot с processed на том же узле. Запишите время и оба числа. При опросе балансировщика ответы могут незаметно прийти с разных машин.

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getMaxShredInsertSlot",
  "params": []
}

Сравните динамику и проверьте узел

Если слот вставки вырос с 50000 до 50400, а обработанный — с 49990 до 50010, новые данные приходят, но разрыв между показателями растёт. Проверьте журнал воспроизведения, задержки диска и загрузку CPU. Даже отдельные шреды более позднего слота могут поднять максимум, пока данные более ранних слотов ещё неполны.

Если оба показателя стоят на месте, а независимый узел движется вперёд, начните с сети и состояния процесса. Повторите наблюдение за несколько интервалов, прежде чем связывать задержку с одной подсистемой.

Документация