3.12.5.1.8.2. Proc

 
В данном разделе публикуется состояние процессов работы базы данных и статистика по ним:
Папка
Описание
TxWrite
Запись в журнал транзакций
Insert
Обработка журнала и вставка в InMem-фрагменты
Index
Индексация InMem-фрагментов
Flush
Сохранение на диск
Merge
Слияние фрагментов данных на диске
Cleanup
Очистка
Read
Чтение
TxCut
Отсечение начала журнала транзакций и сокращение размера
 

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

 
В разделах TxWrite, Insert, Index, Flush, Merge и Read публикуется следующая статистика:
Папка
Описание
Load
Показатели нагрузки
Perf
Показатели производительности
 
Нагрузка - суммарный объём обработки данных, выполняемый процессом за отчётный период.
Производительность - средняя скорость выполнения отдельных операций обработки за отчётный период.
 
В обоих подразделах публикуются текущий (RPS_Current) и максимальный (RPS_Max) показатель (со времени запуска базы данных).
 

Показатели нагрузки и производительности для TxWrite, Insert, Flush и Merge

 
Операции TxWrite выполняются потоками обработки клиентских запросов, но они являются взаимоисключающими: добавление записей в журнал в каждый момент времени может выполнять только один поток.
 
Процессы Insert, Flush и Merge выполняются выделенными одиночными фоновыми потоками.
 
Для этих процессов характерна следующая связь между нагрузкой и производительностью:
Когда нагрузка невелика, и в работе процесса имеются простои, показатель текущей нагрузки будет ниже показателя текущей производительности.
Во время полной нагрузки, когда простоев в работе процесса нет, текущая нагрузка будет находиться примерно на уровне текущей производительности.
 

Показатели нагрузки и производительности для Index и Read

 
Операции чтения Read выполняются параллельно потоками обработки клиентских запросов и упреждающего чтения.
 
Операции индексации Index выполняются параллельно несколькими фоновыми потоками внутри базы данных (параметр data/write/commit_threads).
 
Для этих процессов характерно следующее:
Нагрузка показывает совокупный объём работы, проделанной потоками за отчётный период, в пересчёте на 1 с
  Производительность показывает среднюю скорость выполнения отдельных операций
 
Если за отчётный период операции выполнялись параллельно, и не было простоев в работе, текущий показатель нагрузки будет превышать показатель текущей производительности.
 

Состояние процесса

 
Разделы Insert, Flush, Merge, Cleanup и TxCut соответствуют критически важным фоновым процессам, взаимодействующих с диском. В них публикуется информация о состоянии этих процессов:
Параметр
Описание
State
Текущее состояние. Коды состояния:
-1 – сбой: последние итерации выполнения завершились с ошибками в 100% случаев;
0 – выполнение отключено (перед запуском);
1 – выполнение с периодическими сбоями;
2 – Выполнение без сбоев. Данное состояние означает, что обработчик находится в нормальном состоянии: либо ожидает очередную задачу, либо выполняет. Активность следует оценивать по текущим показателям производительности.
NumTotalFailures
Число ошибок с момента запуска
NumLastFailures
Число ошибок с момента последней контрольной точки
LastFailureTimestamp
Метка времени последней ошибки
LastFailure
Описание последней ошибки
 
В случае сбоя при очередной попытке выполнения:
Увеличивается счётчик NumLastFailures
Если код текущего состояния равен 2, то выставляется код состояния 1
Выдерживается пауза ~2 секунды перед следующей попыткой
 
Не чаще 1 раза в 10 секунд выполняется контрольная точка:
По количеству ошибок, случившихся с момента последней контрольной точки, выставляется итоговое состояние:
Если 100% попыток завершились с ошибками, то выставляется код состояние -1
Если ошибки были, но были и успешные попытки, то выставляется код состояние 1
Если ошибок не было, то выставляется код состояние 2
Счётчик NumLastFailures сбрасывается в 0
 

Read - дополнительные параметры

 
В разделе Read дополнительно публикуется параметр PrefetchRatio - доля механизма асинхронного выполнения запросов, реализованного на уровне Сервера.
 
Диапазон возможных значений: [0.0, 1.0].
 
Чем значение ближе к 1.0, тем лучше, поскольку это означает, что пока клиенту передаётся очередная порция результата, успевает подготавливаться следующая.