file_cache_statistics
Обзор
Позволяет просматривать метрики кеша данных на каждом узле BE. Источником информации служат метрики мониторинга кеша данных BE.
Эта системная таблица поддерживается начиная с версий 2.1.6 и 3.0.2.
База данных
information_schema
Информация о таблице
| Имя столбца | Тип | Описание |
|---|---|---|
| BE_ID | BIGINT | Идентификатор узла BE |
| BE_IP | STRING | IP-адрес узла BE |
| CACHE_PATH | STRING | Путь к кешу узла BE |
| METRIC_NAME | STRING | Имя метрики |
| METRIC_VALUE | STRING | Текстовое представление значения метрики; для числовых сравнений или вычислений требуется явное приведение типа |
Набор метрик может различаться в разных версиях Doris.
Метрики версии 2.1.x
Приведены только основные метрики.
-
normal_queue_curr_elementsТекущее количество File Blocks в кеше.
-
normal_queue_max_elementsМаксимально допустимое количество File Blocks в кеше.
-
normal_queue_curr_sizeТекущий размер кеша.
-
normal_queue_max_sizeМаксимально допустимый размер кеша.
-
hits_ratioОбщая доля попаданий в кеш с момента запуска BE. Диапазон: 0-1.
-
hits_ratio_5mДоля попаданий в кеш за последние 5 минут. Диапазон: 0-1.
-
hits_ratio_1hДоля попаданий в кеш за последний 1 час. Диапазон: 0-1.
Метрики версии 3.0.x
Будет дополнено
Изменения метрик в версии 4.1.5
Начиная с версии 4.1.5 доступны следующие два значения METRIC_NAME. Они накапливаются отдельно для каждого BE и каждого пути к кешу с момента запуска процесса:
| METRIC_NAME | Единица измерения | Значение |
|---|---|---|
evict_not_downloaded_size | Байты | Суммарный логический размер диапазонов блоков кеша, удалённых до завершения загрузки, за исключением блоков, которые сейчас загружаются; не отражает физическое вытеснение загруженных данных |
evict_not_downloaded_num | Блоки | Суммарное количество таких удалённых блоков кеша |
Начиная с той же версии total_removed_size учитывает только байты удалённых блоков кеша, которые были полностью загружены. Для блоков, которые не были загружены, учёт ведётся отдельно с помощью новых метрик. Пометка загружаемого блока для удаления не увеличивает эти счётчики.
Соответствующие имена в brpc /vars: file_cache_evict_not_downloaded_size и file_cache_evict_not_downloaded_num. Каждое из них имеет префикс с соответствующим путём к кешу. См. Мониторинг кеша файлов. В системной таблице METRIC_NAME не содержит префикса пути; путь указан в CACHE_PATH.
Например, следующий запрос возвращает новые метрики и суммарный объём удалённых загруженных данных:
SELECT BE_ID, CACHE_PATH, METRIC_NAME, CAST(METRIC_VALUE AS DOUBLE) AS metric_value
FROM information_schema.file_cache_statistics
WHERE METRIC_NAME IN ('total_removed_size', 'evict_not_downloaded_size', 'evict_not_downloaded_num')
ORDER BY BE_ID, CACHE_PATH, METRIC_NAME;
Запрос возвращает метрики для каждого пути к кешу на каждом BE. Значения меняются по мере использования кеша.
Примеры
-
Запрос всех метрик кеша
mysql> select * from information_schema.file_cache_statistics;
+-------+---------------+----------------------------+----------------------------+--------------------+
| BE_ID | BE_IP | CACHE_PATH | METRIC_NAME | METRIC_VALUE |
+-------+---------------+----------------------------+----------------------------+--------------------+
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | normal_queue_curr_elements | 1392 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | normal_queue_curr_size | 248922234 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | normal_queue_max_elements | 102400 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | normal_queue_max_size | 21474836480 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | hits_ratio | 0.8539634687001242 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | hits_ratio_1h | 0 |
| 10003 | 172.20.32.136 | /mnt/output/be/file_cache/ | hits_ratio_5m | 0 |
+-------+---------------+----------------------------+----------------------------+--------------------+ -
Запрос доли попаданий в кеш с сортировкой по этой доле
select * from information_schema.file_cache_statistics where METRIC_NAME = "hits_ratio" order by cast(METRIC_VALUE as double) desc;