Метрики мониторинга
Процессы FE и BE в Doris имеют встроенные метрики мониторинга, которые по умолчанию предоставляются в формате, совместимом с Prometheus. В этом документе систематизированы все доступные метрики и указан их приоритет, чтобы после интеграции с Prometheus + Grafana вы могли быстро настроить систему мониторинга и оповещений.
Сценарии использования
| Сценарий | Назначение |
|---|---|
| Мониторинг состояния кластера | Быстрое выявление аномалий на узлах FE/BE с помощью метрик P0 |
| Настройка оповещений | Настройка оповещений по пороговым значениям таких метрик, как QPS, частота ошибок и Compaction Score |
| Диагностика производительности | Поиск узких мест по метрикам задержки запросов, очередей пулов потоков и использования памяти |
| Планирование ресурсов | Оценка нагрузки на кластер по использованию дисков, количеству tablet и соединений |
| Анализ инцидентов | Выявление первопричин сбоев путем сопоставления метрик сервера (CPU, IO, сеть) с метриками процессов |
Категории метрик
По объекту наблюдения метрики мониторинга Doris делятся на две категории:
- Мониторинг процесса: показатели работы самого процесса Doris, например количество запросов, количество транзакций и состояние Compaction.
- Мониторинг узла: показатели ресурсов сервера, на котором работает процесс Doris, например CPU, память, IO и сеть.
Получение метрик мониторинга
Формат, совместимый с Prometheus (по умолчанию)
Обратитесь непосредственно к HTTP-порту узла FE или BE:
curl http://fe_host:http_port/metrics
curl http://be_host:webserver_port/metrics
Пример ответа:
doris_fe_cache_added{type="partition"} 0
doris_fe_cache_added{type="sql"} 0
doris_fe_cache_hit{type="partition"} 0
doris_fe_cache_hit{type="sql"} 0
doris_fe_connection_total 2
Формат JSON
Для получения метрик в формате JSON используйте параметр type=json:
curl http://fe_host:http_port/metrics?type=json
curl http://be_host:webserver_port/metrics?type=json
Метрики bvar
Процессы BE и Meta Service / Recycler также экспортируют метрики bvar через свои службы brpc. Используйте /brpc_metrics для получения данных в формате, совместимом с Prometheus, и /vars для просмотра диагностических показателей по имени:
curl http://be_host:brpc_port/brpc_metrics
curl http://be_host:brpc_port/vars
curl http://cloud_host:brpc_listen_port/brpc_metrics
Эти конечные точки используют brpc_port BE (по умолчанию 8060) или brpc_listen_port Meta Service / Recycler (по умолчанию 5000), которые отличаются от указанных выше HTTP-портов мониторинга FE / BE. Ниже приведены зарегистрированные имена bvar; не все они имеют префикс doris_be_.
Определение версии
Начиная с версии 4.1.5, метрики версии BE и Meta Service / Recycler содержат следующие метки в /brpc_metrics:
| Метрика | Тип | Метки | Значение |
|---|---|---|---|
doris_be_version | Gauge | version, major, minor, patch, hotfix, short_hash | Версия сборки BE и идентификатор коммита |
doris_cloud_version | Gauge | Те же, что выше | Версия сборки Meta Service / Recycler и идентификатор коммита |
Каждый процесс экспортирует один образец метрики версии. Значение метрики сохраняет существующее кодирование версии; полная версия указана в метке version, а идентификатор коммита — в short_hash. Метрика doris_cloud_version не различает, выполняет ли процесс функции Meta Service, Recycler или обе функции. Для определения роли добавьте метку цели сбора метрик.
Параметр процесса bvar_max_dump_multi_dimension_metric_num ограничивает количество образцов многомерных метрик bvar. Его значение по умолчанию — 5000; значение 0 отключает такие образцы, в том числе метрики версии. BE поддерживает этот параметр начиная с версии 4.1.5, а для применения изменений требуется перезапуск. См. Конфигурация BE.
Приоритет метрик и рекомендации
-
Последний столбец каждой таблицы метрик содержит приоритет. P0 — наивысший приоритет; чем больше значение, тем ниже важность. Подключайте метрики P0 в первую очередь.
-
Подавляющее большинство метрик мониторинга имеют тип Counter (накопительное значение). Для получения полезной информации необходимо снимать показания через определенные интервалы (например, каждые 15 секунд) и вычислять скорость изменения за единицу времени.
Например, вычислив скорость изменения
doris_fe_query_err, можно получить частоту ошибок запросов (количество ошибок в секунду).
Вы можете дополнить эту таблицу, чтобы сделать набор метрик мониторинга более полным и полезным.
Метрики мониторинга FE
Мониторинг процесса
| Имя | Метка | Единица измерения | Значение | Описание | Приоритет |
|---|---|---|---|---|---|
doris_fe_cache_added | {type="partition"} | Количество | Накопительное количество новых кэшей Partition Cache | ||
| {type="sql"} | Количество | Накопительное количество новых кэшей SQL Cache | |||
doris_fe_cache_hit | {type="partition"} | Количество | Количество попаданий в Partition Cache | ||
| {type="sql"} | Количество | Количество попаданий в SQL Cache | |||
doris_fe_connection_total | Количество | Текущее количество соединений на порту MySQL узла FE | Используется для мониторинга количества соединений для запросов. При превышении лимита новые соединения не принимаются | P0 | |
doris_fe_counter_hit_sql_block_rule | Количество | Количество запросов, заблокированных SQL BLOCK RULE | |||
doris_fe_edit_log_clean | {type="failed"} | Количество | Количество ошибок при очистке старых журналов метаданных | Ошибок быть не должно. При их возникновении требуется ручное вмешательство | P0 |
| {type="success"} | Количество | Количество успешных очисток старых журналов метаданных | |||
doris_fe_edit_log | {type="accumulated_bytes"} | Байты | Накопительный объем записи в журнал метаданных | Вычисляйте скорость изменения, чтобы определить скорость записи и выявить задержки записи метаданных | P0 |
| {type="current_bytes"} | Байты | Текущий объем журнала метаданных | Используется для мониторинга размера editlog. При превышении лимита требуется ручное вмешательство | P0 | |
| {type="read"} | Количество | Количество операций чтения журнала метаданных | По скорости изменения можно оценить, соответствует ли частота чтения метаданных норме | P0 | |
| {type="write"} | Количество | Количество операций записи журнала метаданных | По скорости изменения можно оценить, соответствует ли частота записи метаданных норме | P0 | |
| {type="current"} | Количество | Текущее количество записей журнала метаданных | Используется для мониторинга количества записей editlog. При превышении лимита требуется ручное вмешательство | P0 | |
doris_fe_editlog_write_latency_ms | Миллисекунды | Перцентили задержки записи журнала метаданных. Например, {quantile="0.75"} обозначает 75-й перцентиль задержки записи | |||
doris_fe_image_clean | {type="failed"} | Количество | Количество ошибок при очистке старых файлов образов метаданных | Ошибок быть не должно. При их возникновении требуется ручное вмешательство | P0 |
| {type="success"} | Количество | Количество успешных очисток старых файлов образов метаданных | |||
doris_fe_image_push | {type="failed"} | Количество | Количество ошибок при отправке файлов образов метаданных на другие узлы FE | ||
| {type="success"} | Количество | Количество успешных отправок файлов образов метаданных на другие узлы FE | |||
doris_fe_image_write | {type="failed"} | Количество | Количество ошибок при создании файлов образов метаданных | Ошибок быть не должно. При их возникновении требуется ручное вмешательство | P0 |
| {type="success"} | Количество | Количество успешных созданий файлов образов метаданных | |||
doris_fe_job | Количество | Количество заданий различных типов и состояний. Например, {job="load", type="INSERT", state="LOADING"} обозначает количество заданий загрузки типа INSERT в состоянии LOADING | При необходимости отслеживайте количество заданий различных типов в кластере | P0 | |
doris_fe_max_journal_id | Количество | Максимальный ID журнала метаданных на текущем узле FE. Для Master FE это максимальный ID, записанный на данный момент; для остальных FE — максимальный ID журнала метаданных, воспроизведенного на данный момент | Используется для выявления значительных расхождений ID между узлами FE. Большой разрыв указывает на проблему синхронизации метаданных | P0 | |
doris_fe_max_tablet_compaction_score | Количество | Максимальное значение Compaction Score среди всех узлов BE | Позволяет отслеживать максимальный Compaction Score в текущем кластере и определять, не слишком ли он высок. Высокое значение может приводить к задержкам запросов или записи | P0 | |
doris_fe_qps | Количество/с | Количество запросов в секунду на текущем FE (учитываются только запросы на выборку данных) | QPS | P0 | |
doris_fe_query_err | Количество | Накопительное количество запросов, завершившихся с ошибкой | |||
doris_fe_query_err_rate | Количество/с | Количество запросов, завершившихся с ошибкой, в секунду | Позволяет отслеживать возникновение ошибок запросов в кластере | P0 | |
doris_fe_query_latency_ms | Миллисекунды | Перцентили задержки запросов. Например, {quantile="0.75"} обозначает 75-й перцентиль задержки запросов | Позволяет подробно изучать задержку запросов на каждом перцентиле | P0 | |
doris_fe_query_latency_ms_db | Миллисекунды | Перцентили задержки запросов для каждой базы данных. Например, {quantile="0.75",db="test"} обозначает 75-й перцентиль задержки запросов для базы данных test | Позволяет подробно изучать задержку запросов на каждом перцентиле для каждой базы данных | P0 | |
doris_fe_query_olap_table | Количество | Количество запросов к внутренним таблицам (OlapTable) | |||
doris_fe_query_total | Количество | Накопительное количество всех запросов на выборку данных | |||
doris_fe_report_queue_size | Количество | Длина очереди на стороне FE для различных периодических задач отчетности от BE | Значение отражает степень задержки обработки задач отчетности на узле Master FE. Чем оно больше, тем сильнее ограничена производительность обработки FE | P0 | |
doris_fe_request_total | Количество | Все запросы на выполнение операций (включая запросы на выборку данных и другие операторы), полученные через порт MySQL | |||
doris_fe_routine_load_error_rows | Количество | Общее количество ошибочных строк во всех заданиях Routine Load в кластере | |||
doris_fe_routine_load_receive_bytes | Байты | Общий объем данных, полученных всеми заданиями Routine Load в кластере | |||
doris_fe_routine_load_rows | Количество | Общее количество строк данных, полученных всеми заданиями Routine Load в кластере | |||
doris_fe_routine_load_get_meta_latency | Миллисекунды | Задержка получения метаданных для всех заданий Routine Load в кластере | |||
doris_fe_routine_load_get_meta_count | Количество | Количество операций получения метаданных для всех заданий Routine Load в кластере | |||
doris_fe_routine_load_get_meta_fail_count | Количество | Количество неудачных попыток получения метаданных для всех заданий Routine Load в кластере | |||
doris_fe_routine_load_task_execute_time | Миллисекунды | Время выполнения всех задач Routine Load в кластере | |||
doris_fe_routine_load_task_execute_count | Количество | Количество выполнений всех задач Routine Load в кластере | |||
doris_fe_routine_load_lag | Миллисекунды | Отставание потребления данных для всех заданий Routine Load в кластере | |||
doris_fe_routine_load_progress | Миллисекунды | Прогресс потребления данных для всех заданий Routine Load в кластере | |||
doris_fe_routine_load_abort_task_num | Количество | Количество задач, завершившихся с ошибкой, во всех заданиях Routine Load в кластере | |||
doris_fe_rps | Количество | Количество запросов в секунду на текущем FE (включая запросы на выборку данных и другие типы операторов) | Используйте вместе с QPS для оценки объема запросов, обрабатываемых кластером | P0 | |
doris_fe_scheduled_tablet_num | Количество | Количество tablet, обрабатываемых планировщиком на узле Master FE, включая реплики, находящиеся на восстановлении и балансировке | Значение отражает количество tablet, которые сейчас перемещаются в кластере. Ненулевое значение в течение длительного времени указывает на нестабильность кластера | P0 | |
doris_fe_tablet_max_compaction_score | Количество | Compaction Score, сообщаемый каждым узлом BE. Например, {backend="172.21.0.1:9556"} обозначает значение, сообщаемое BE по адресу "172.21.0.1:9556" | |||
doris_fe_tablet_num | Количество | Общее количество tablet на каждом узле BE. Например, {backend="172.21.0.1:9556"} обозначает текущее количество tablet на BE по адресу "172.21.0.1:9556" | Позволяет проверить равномерность распределения tablet и обоснованность их абсолютного количества | P0 | |
doris_fe_tablet_status_count | Количество | Накопительное количество tablet, обработанных планировщиком Tablet scheduler на узле Master FE | |||
| {type="added"} | Количество | Накопительное количество tablet, обработанных планировщиком Tablet scheduler на узле Master FE. "added" обозначает количество tablet, для которых было запланировано выполнение задач | |||
| {type="in_sched"} | Количество | То же, что выше. Обозначает количество tablet, для которых задачи планировались повторно | Быстрый рост значения означает, что некоторые tablet долгое время находятся в нездоровом состоянии, из-за чего планировщик повторно планирует для них задачи | ||
| {type="not_ready"} | Количество | То же, что выше. Обозначает количество tablet, для которых еще не выполнены условия запуска планирования | Быстрый рост значения означает, что большое количество tablet находится в нездоровом состоянии, но задачи для них нельзя запланировать | ||
| {type="total"} | Количество | То же, что выше. Обозначает накопительное количество проверенных tablet (для которых задачи не обязательно были запланированы) | |||
| {type="unhealthy"} | Количество | То же, что выше. Обозначает накопительное количество проверенных tablet в нездоровом состоянии | |||
doris_fe_thread_pool | Количество | Статистика рабочих потоков и очередей различных пулов потоков. active_thread_num обозначает количество выполняемых сейчас задач. pool_size обозначает общее количество потоков в пуле. task_in_queue обозначает количество задач в очереди | |||
| {name="agent-task-pool"} | Количество | Пул потоков, используемый Master FE для отправки Agent Tasks на узлы BE | |||
| {name="connect-scheduler-check-timer"} | Количество | Пул потоков для проверки истечения времени ожидания неактивных соединений MySQL | |||
| {name="connect-scheduler-pool"} | Количество | Пул потоков для приема запросов на соединение MySQL | |||
| {name="mysql-nio-pool"} | Количество | Пул потоков, используемый NIO MySQL Server для обработки задач | |||
| {name="export-exporting-job-pool"} | Количество | Пул потоков планирования заданий экспорта в состоянии exporting | |||
| {name="export-pending-job-pool"} | Количество | Пул потоков планирования заданий экспорта в состоянии pending | |||
| {name="heartbeat-mgr-pool"} | Количество | Пул потоков, используемый Master FE для обработки heartbeat от каждого узла | |||
| {name="loading-load-task-scheduler"} | Количество | Пул потоков, используемый Master FE для планирования задач loading в заданиях Broker Load | |||
| {name="pending-load-task-scheduler"} | Количество | Пул потоков, используемый Master FE для планирования задач pending в заданиях Broker Load | |||
| {name="schema-change-pool"} | Количество | Пул потоков, используемый Master FE для планирования заданий изменения схемы | |||
| {name="thrift-server-pool"} | Количество | Пул рабочих потоков ThriftServer на стороне FE. Соответствует rpc_port в fe.conf и используется для взаимодействия с BE | |||
doris_fe_txn_counter | Количество | Накопительное количество транзакций загрузки в каждом состоянии | Позволяет отслеживать состояние выполнения транзакций загрузки | P0 | |
| {type="begin"} | Количество | Количество начатых транзакций | |||
| {type="failed"} | Количество | Количество транзакций, завершившихся с ошибкой | |||
| {type="reject"} | Количество | Количество отклоненных транзакций (например, если текущее количество выполняемых транзакций превышает порог, новые транзакции отклоняются) | |||
| {type="success"} | Количество | Количество успешных транзакций | |||
doris_fe_txn_status | Количество | Текущее количество транзакций загрузки в каждом состоянии. Например, {type="committed"} обозначает количество транзакций в состоянии committed | Отслеживайте количество транзакций загрузки в каждом состоянии, чтобы выявлять их накопление | P0 | |
doris_fe_query_instance_num | Количество | Количество экземпляров фрагментов, запрошенных определенным пользователем на данный момент. Например, {user="test_u"} обозначает количество экземпляров, запрошенных пользователем test_u на данный момент | Позволяет определить, не потребляет ли отдельный пользователь слишком много ресурсов запросов | P0 | |
doris_fe_query_instance_begin | Количество | Количество экземпляров фрагментов, для которых определенный пользователь инициировал запросы. Например, {user="test_u"} обозначает количество экземпляров, для которых пользователь test_u инициировал запросы | Позволяет определить, не отправил ли отдельный пользователь слишком много запросов | P0 | |
doris_fe_query_rpc_total | Количество | Количество RPC, отправленных определенному BE. Например, {be="192.168.10.1"} обозначает количество RPC, отправленных BE с IP-адресом 192.168.10.1 | Позволяет определить, не отправлено ли определенному BE слишком много RPC | ||
doris_fe_query_rpc_failed | Количество | Количество неудачных RPC, отправленных определенному BE. Например, {be="192.168.10.1"} обозначает количество неудачных RPC, отправленных BE с IP-адресом 192.168.10.1 | Позволяет выявлять проблемы с RPC на определенном BE | ||
doris_fe_query_rpc_size | Количество | Размер данных RPC для определенного BE. Например, {be="192.168.10.1"} обозначает объем данных RPC в байтах, отправленных BE с IP-адресом 192.168.10.1 | Позволяет определить, не отправляются ли определенному BE слишком большие RPC | ||
doris_fe_txn_exec_latency_ms | Миллисекунды | Перцентили времени выполнения транзакций. Например, {quantile="0.75"} обозначает 75-й перцентиль времени выполнения транзакций | Позволяет подробно изучать время выполнения транзакций на каждом перцентиле | P0 | |
doris_fe_txn_publish_latency_ms | Миллисекунды | Перцентили времени публикации транзакций. Например, {quantile="0.75"} обозначает 75-й перцентиль времени публикации транзакций | Позволяет подробно изучать время публикации транзакций на каждом перцентиле | P0 | |
doris_fe_txn_num | Количество | Количество транзакций, выполняемых сейчас в определенной базе данных. Например, {db="test"} обозначает количество транзакций, выполняемых сейчас в базе данных test | Позволяет определить, не отправлено ли в определенную базу данных слишком много транзакций | P0 | |
doris_fe_publish_txn_num | Количество | Количество транзакций, публикуемых сейчас в определенной базе данных. Например, {db="test"} обозначает количество транзакций, публикуемых сейчас в базе данных test | Позволяет отслеживать количество публикуемых транзакций в определенной базе данных | P0 | |
doris_fe_txn_replica_num | Количество | Количество реплик, открытых транзакциями, которые сейчас выполняются в определенной базе данных. Например, {db="test"} обозначает количество реплик, открытых транзакциями, которые сейчас выполняются в базе данных test | Позволяет определить, не открыто ли в определенной базе данных слишком много реплик, что может влиять на выполнение других транзакций | P0 | |
doris_fe_thrift_rpc_total | Количество | Количество запросов RPC, полученных каждым методом интерфейса thrift на FE. Например, {method="report"} обозначает количество запросов RPC, полученных методом report | Позволяет отслеживать нагрузку на определенный метод thrift rpc | ||
doris_fe_thrift_rpc_latency_ms | Миллисекунды | Время обработки запросов RPC для каждого метода интерфейса thrift на FE. Например, {method="report"} обозначает время обработки запросов RPC методом report | Позволяет отслеживать нагрузку на определенный метод thrift rpc | ||
doris_fe_external_schema_cache | {catalog="hive"} | Количество | Количество записей в кэше схемы для определенного External Catalog | ||
doris_fe_hive_meta_cache | {catalog="hive"} | Количество | |||
{type="partition_value"} | Количество | Количество записей в кэше значений разделов для определенного External Hive Metastore Catalog | |||
{type="partition"} | Количество | Количество записей в кэше разделов для определенного External Hive Metastore Catalog | |||
{type="file"} | Количество | Количество записей в кэше файлов для определенного External Hive Metastore Catalog | |||
doris_fe_virtual_compute_group_switch_total | {virtual_compute_group_id, virtual_compute_group_name, src_compute_group_id, src_compute_group_name, dst_compute_group_id, dst_compute_group_name} | Количество | Накопительное количество переключений между основной и резервной вычислительными группами виртуальной вычислительной группы. Поддерживается начиная с версии 4.0.8, формируется только в режиме с разделением вычислений и хранения | Скорость изменения показывает, насколько часто происходят переключения виртуальной вычислительной группы; обычно это указывает на нестабильность основной вычислительной группы |
Мониторинг JVM
| Имя | Метка | Единица измерения | Значение | Описание | Приоритет |
|---|---|---|---|---|---|
jvm_heap_size_bytes | Байты | Мониторинг памяти JVM. Метки max, used и committed соответствуют максимальному, используемому и выделенному объему памяти | Позволяет отслеживать использование памяти JVM | P0 | |
jvm_non_heap_size_bytes | Байты | Статистика памяти JVM вне кучи | |||
<GarbageCollector> | Мониторинг GC | GarbageCollector обозначает конкретный сборщик мусора | P0 | ||
| {type="count"} | Количество | Накопительное количество сборок мусора | |||
| {type="time"} | Миллисекунды | Накопительное время GC | |||
jvm_old_size_bytes | Байты | Статистика памяти старого поколения JVM | P0 | ||
jvm_thread | Количество | Статистика количества потоков JVM | Позволяет оценить, соответствует ли количество потоков JVM норме | P0 | |
jvm_young_size_bytes | Байты | Статистика памяти молодого поколения JVM | P0 |
Мониторинг сервера
| Имя | Метка | Единица измерения | Значение | Описание | Приоритет |
|---|---|---|---|---|---|
system_meminfo | Байты | Мониторинг памяти сервера узла FE. Данные собираются из /proc/meminfo. Включает buffers, cached, memory_available, memory_free и memory_total | |||
system_snmp | Мониторинг сети сервера узла FE. Данные собираются из /proc/net/snmp | ||||
{name="tcp_in_errs"} | Количество | Количество ошибок приема пакетов tcp | |||
{name="tcp_in_segs"} | Количество | Количество полученных пакетов tcp | |||
{name="tcp_out_segs"} | Количество | Количество отправленных пакетов tcp | |||
{name="tcp_retrans_segs"} | Количество | Количество повторных передач пакетов tcp |
Метрики мониторинга BE
Мониторинг процесса
| Имя | Метка | Единица измерения | Значение | Описание | Приоритет |
|---|---|---|---|---|---|
doris_be_active_scan_context_count | Количество | Показывает количество сканеров, открытых сейчас напрямую внешними системами | |||
doris_be_add_batch_task_queue_size | Количество | Размер очереди пула потоков, принимающего пакеты данных при загрузке | Значение больше 0 указывает на накопление задач загрузки на принимающей стороне | P0 | |
agent_task_queue_size | Количество | Показывает длину каждой очереди обработки Agent Task. Например, {type="CREATE_TABLE"} обозначает длину очереди задач CREATE_TABLE | |||
doris_be_brpc_endpoint_stub_count | Количество | Количество созданных заглушек brpc для взаимодействия между BE | |||
doris_be_brpc_function_endpoint_stub_count | Количество | Количество созданных заглушек brpc для взаимодействия с Remote RPC | |||
doris_be_cache_capacity | Емкость определенного LRU Cache | ||||
doris_be_cache_usage | Используемый объем определенного LRU Cache | Позволяет отслеживать использование памяти | P0 | ||
doris_be_cache_usage_ratio | Доля использования определенного LRU Cache | ||||
doris_be_cache_lookup_count | Количество обращений к определенному LRU Cache | ||||
doris_be_cache_hit_count | Количество попаданий в определенный LRU Cache | ||||
doris_be_cache_hit_ratio | Доля попаданий в определенный LRU Cache | Позволяет оценить эффективность кэша | P0 | ||
| {name="DataPageCache"} | Количество | DataPageCache кэширует страницы данных Data Page | Кэш данных, напрямую влияет на эффективность запросов | P0 | |
| {name="IndexPageCache"} | Количество | IndexPageCache кэширует индексные страницы Index Page | Кэш индексов, напрямую влияет на эффективность запросов | P0 | |
| {name="LastSuccessChannelCache"} | Количество | LastSuccessChannelCache кэширует LoadChannel на стороне получателя загрузки | |||
| {name="SegmentCache"} | Количество | SegmentCache кэширует открытые Segment, например информацию об индексах | |||
doris_be_chunk_pool_local_core_alloc_count | Количество | Количество выделений памяти из очереди памяти привязанного ядра в ChunkAllocator | |||
doris_be_chunk_pool_other_core_alloc_count | Количество | Количество выделений памяти из очередей памяти других ядер в ChunkAllocator | |||
doris_be_chunk_pool_reserved_bytes | Байты | Объем памяти, зарезервированной в ChunkAllocator | |||
doris_be_chunk_pool_system_alloc_cost_ns | Наносекунды | Накопительное время, затраченное SystemAllocator на выделение памяти | По скорости изменения можно оценить затраты времени на выделение памяти | P0 | |
doris_be_chunk_pool_system_alloc_count | Количество | Количество выделений памяти SystemAllocator | |||
doris_be_chunk_pool_system_free_cost_ns | Наносекунды | Накопительное время, затраченное SystemAllocator на освобождение памяти | По скорости изменения можно оценить затраты времени на освобождение памяти | P0 | |
doris_be_chunk_pool_system_free_count | Количество | Количество освобождений памяти SystemAllocator | |||
doris_be_compaction_bytes_total | Байты | Накопительный объем данных, обработанных Compaction | Учитывает размер входных rowset на диске в задачах Compaction. По скорости изменения можно оценить скорость Compaction | P0 | |
| {type="base"} | Байты | Накопительный объем данных Base Compaction | |||
| {type="cumulative"} | Байты | Накопительный объем данных Cumulative Compaction | |||
doris_be_compaction_deltas_total | Количество | Накопительное количество rowset, обработанных Compaction | Учитывает количество входных rowset в задачах Compaction | ||
| {type="base"} | Количество | Накопительное количество rowset, обработанных Base Compaction | |||
| {type="cumulative"} | Количество | Накопительное количество rowset, обработанных Cumulative Compaction | |||
doris_be_disks_compaction_num | Количество | Количество задач Compaction, выполняемых сейчас для определенного каталога данных. Например, {path="/path1/"} обозначает количество задач, выполняемых сейчас для каталога /path1 | Позволяет оценить, соответствует ли количество задач Compaction на каждом диске норме | P0 | |
doris_be_disks_compaction_score | Количество | Количество токенов Compaction, используемых сейчас для определенного каталога данных. Например, {path="/path1/"} обозначает количество токенов, используемых сейчас для каталога /path1 | |||
doris_be_compaction_used_permits | Количество | Количество токенов, уже используемых задачами Compaction | Отражает потребление ресурсов Compaction | ||
doris_be_compaction_waitting_permits | Количество | Количество элементов, ожидающих токенов Compaction | |||
doris_be_data_stream_receiver_count | Количество | Количество получателей данных Receiver на принимающей стороне | FIXME: эта метрика отсутствует в векторизованном движке | ||
doris_be_disks_avail_capacity | Байты | Оставшееся место на диске, где расположен определенный каталог данных. Например, {path="/path1/"} обозначает оставшееся место на диске, где расположен каталог /path1 | P0 | ||
doris_be_disks_local_used_capacity | Байты | Локально используемое место на диске, где расположен определенный каталог данных | |||
doris_be_disks_remote_used_capacity | Байты | Используемое место в удаленном каталоге, соответствующем диску, где расположен определенный каталог данных | |||
doris_be_disks_state | Булево значение | Состояние диска определенного каталога данных. 1 означает нормальное состояние, 0 — неисправность | |||
doris_be_disks_total_capacity | Байты | Общая емкость диска, где расположен определенный каталог данных | Используйте вместе с doris_be_disks_avail_capacity для расчета использования диска | P0 | |
doris_be_engine_requests_total | Количество | Накопительное количество выполнений различных задач на BE с разбивкой по состоянию | |||
| {status="failed",type="xxx"} | Количество | Накопительное количество ошибок задач типа xxx | |||
| {status="total",type="xxx"} | Количество | Накопительное общее количество выполнений задач типа xxx | При необходимости отслеживайте количество ошибок задач различных типов | P0 | |
{status="skip",type="report_all_tablets"} | Количество | Накопительное количество пропусков задач типа xxx | |||
doris_be_fragment_endpoint_count | Количество | То же, что doris_be_data_stream_receiver_count | FIXME: то же количество, что и doris_be_data_stream_receiver_count. Также отсутствует в векторизованном движке | ||
doris_be_fragment_request_duration_us | Микросекунды | Накопительное время выполнения всех экземпляров фрагментов | По скорости изменения можно оценить время выполнения экземпляров | P0 | |
doris_be_fragment_requests_total | Количество | Накопительное количество выполненных экземпляров фрагментов | |||
doris_be_load_channel_count | Количество | Количество открытых сейчас каналов загрузки | Чем больше значение, тем больше задач загрузки выполняется в данный момент | P0 | |
doris_be_local_bytes_read_total | Байты | Количество байтов, прочитанных LocalFileReader | P0 | ||
doris_be_local_bytes_written_total | Байты | Количество байтов, записанных LocalFileWriter | P0 | ||
doris_be_local_file_reader_total | Количество | Накопительное количество открытых экземпляров LocalFileReader | |||
doris_be_local_file_open_reading | Количество | Количество открытых сейчас экземпляров LocalFileReader | |||
doris_be_local_file_writer_total | Количество | Накопительное количество открытых экземпляров LocalFileWriter | |||
doris_be_mem_consumption | Байты | Текущее потребление памяти определенным модулем. Например, {type="compaction"} обозначает текущее общее потребление памяти модулем Compaction | Значение берется из MemTracker соответствующего типа. FIXME | ||
doris_be_memory_allocated_bytes | Байты | Объем физической памяти процесса BE, полученный из /proc/self/status/VmRSS | P0 | ||
doris_be_memory_jemalloc | Байты | Статистика Jemalloc, полученная через je_mallctl | Описание значений см.: https://jemalloc.net/jemalloc.3.html | P0 | |
doris_be_memory_pool_bytes_total | Байты | Объем памяти, занимаемой сейчас всеми MemPool. Статистическое значение, которое не отражает фактическое использование памяти | |||
doris_be_memtable_flush_duration_us | Микросекунды | Накопительное время записи memtable на диск | По скорости изменения можно оценить задержку записи | P0 | |
doris_be_memtable_flush_total | Количество | Накопительное количество memtable, записанных на диск | По скорости изменения можно вычислить частоту записи файлов | P0 | |
doris_be_meta_request_duration | Микросекунды | Накопительное время доступа к метаданным в RocksDB | По скорости изменения можно оценить задержку чтения и записи метаданных BE | P0 | |
| {type="read"} | Микросекунды | Время чтения | |||
| {type="write"} | Микросекунды | Время записи | |||
doris_be_meta_request_total | Количество | Накопительное количество обращений к метаданным в RocksDB | По скорости изменения можно оценить частоту обращений к метаданным BE | P0 | |
| {type="read"} | Количество | Количество операций чтения | |||
| {type="write"} | Количество | Количество операций записи | |||
doris_be_fragment_instance_count | Количество | Количество экземпляров фрагментов, полученных на данный момент | Позволяет отслеживать накопление экземпляров | P0 | |
doris_be_process_fd_num_limit_hard | Количество | Жесткий лимит количества файловых дескрипторов процесса BE. Данные собираются через /proc/pid/limits | |||
doris_be_process_fd_num_limit_soft | Количество | Мягкий лимит количества файловых дескрипторов процесса BE. Данные собираются через /proc/pid/limits | |||
doris_be_process_fd_num_used | Количество | Количество файловых дескрипторов, используемых процессом BE. Определяется подсчетом записей в /proc/self/fd | |||
doris_be_process_thread_num | Количество | Количество потоков в процессе BE. Данные собираются через /proc/pid/task | P0 | ||
doris_be_query_cache_memory_total_byte | Байты | Объем памяти, занимаемой Query Cache, в байтах | |||
doris_be_query_cache_partition_total_count | Количество | Текущее количество записей в Partition Cache | |||
doris_be_query_cache_sql_total_count | Количество | Текущее количество записей в SQL Cache | |||
doris_be_query_scan_bytes | Байты | Накопительный объем прочитанных данных. Учитываются только данные, прочитанные из таблиц Olap | |||
doris_be_query_scan_bytes_per_second | Байты/с | Скорость чтения, рассчитанная на основе doris_be_query_scan_bytes | Позволяет отслеживать скорость обработки запросов | P0 | |
doris_be_query_scan_rows | Количество | Накопительное количество прочитанных строк. Учитываются только данные, прочитанные из таблиц Olap. Это RawRowsRead (некоторые строки могут быть пропущены благодаря индексам и фактически не прочитаны, но все равно учитываются в этом значении) | По скорости изменения можно оценить скорость обработки запросов | P0 | |
doris_be_result_block_queue_count | Количество | Количество экземпляров фрагментов, находящихся сейчас в кэше результатов запросов | Эта очередь используется только при прямом чтении внешними системами. Например, Spark on Doris запрашивает данные через внешнее сканирование | ||
doris_be_result_buffer_block_count | Количество | Количество запросов, находящихся сейчас в кэше результатов запросов | Значение отражает количество результатов запросов на текущем BE, ожидающих получения со стороны FE | P0 | |
doris_be_routine_load_task_count | Количество | Количество выполняемых сейчас задач Routine Load | |||
doris_be_rowset_count_generated_and_in_use | Количество | Количество новых используемых ID rowset с момента последнего запуска | |||
doris_be_s3_bytes_read_total | Количество | Накопительное количество открытий S3FileReader | |||
doris_be_s3_file_open_reading | Количество | Количество открытых сейчас экземпляров S3FileReader | |||
doris_be_s3_bytes_read_total | Байты | Накопительное количество байтов, прочитанных S3FileReader | |||
doris_be_scanner_thread_pool_queue_size | Количество | Текущий размер очереди пула потоков для OlapScanner | Значение больше нуля указывает на начало накопления сканеров Scanner | P0 | |
doris_be_segment_read | {type="segment_read_total"} | Количество | Накопительное количество прочитанных сегментов | ||
doris_be_segment_read | {type="segment_row_total"} | Количество | Накопительное количество строк, прочитанных из сегментов | Значение также включает строки, отфильтрованные индексами. Оно равно количеству прочитанных сегментов, умноженному на общее количество строк в каждом сегменте | |
doris_be_send_batch_thread_pool_queue_size | Количество | Размер очереди пула потоков для отправки пакетов данных при загрузке | Значение больше 0 указывает на накопление задач | P0 | |
doris_be_send_batch_thread_pool_thread_num | Количество | Количество потоков в пуле для отправки пакетов данных при загрузке | |||
doris_be_small_file_cache_count | Количество | Количество небольших файлов, кэшированных сейчас на BE | |||
doris_be_streaming_load_current_processing | Количество | Количество выполняемых сейчас задач Stream Load | Включает только задачи, отправленные командой curl | ||
doris_be_streaming_load_duration_ms | Миллисекунды | Накопительное время выполнения всех задач Stream Load | |||
doris_be_streaming_load_requests_total | Количество | Накопительное количество задач Stream Load | По скорости изменения можно оценить частоту отправки задач | P0 | |
doris_be_stream_load_pipe_count | Количество | Текущее количество каналов данных Stream Load | Включает задачи Stream Load и Routine Load | ||
doris_be_stream_load | {type="load_rows"} | Количество | Накопительное количество строк, в итоге загруженных через Stream Load | Включает задачи Stream Load и Routine Load | P0 |
doris_be_stream_load | {type="receive_bytes"} | Байты | Накопительное количество байтов, полученных через Stream Load | Включает данные, полученные Stream Load по HTTP, и данные, прочитанные Routine Load из Kafka | P0 |
doris_be_tablet_base_max_compaction_score | Количество | Текущее максимальное значение Base Compaction Score | Значение изменяется в реальном времени, поэтому пиковые значения могут быть пропущены. Чем оно выше, тем больше накопилось задач Compaction | P0 | |
doris_be_tablet_cumulative_max_compaction_score | Количество | Текущее максимальное значение Compaction Score среди всех стратегий Cumulative Compaction | Сохраняется как общий максимум по всем стратегиям | ||
doris_be_tablet_version_num_distribution | Количество | Гистограмма количества версий tablet | Отражает распределение tablet по количеству версий | P0 | |
doris_be_thrift_connections_total | Количество | Накопительное количество созданных соединений thrift. Например, {name="heartbeat"} обозначает накопительное количество соединений со службой heartbeat | Значение относится к серверу thrift, в котором BE выступает серверной стороной | ||
doris_be_thrift_current_connections | Количество | Текущее количество соединений thrift. Например, {name="heartbeat"} обозначает текущее количество соединений со службой heartbeat | То же, что выше | ||
doris_be_thrift_opened_clients | Количество | Текущее количество открытых клиентов thrift. Например, {name="frontend"} обозначает количество клиентов, обращающихся к службе FE | |||
doris_be_thrift_used_clients | Количество | Текущее количество используемых клиентов thrift. Например, {name="frontend"} обозначает количество клиентов, используемых сейчас для доступа к службе FE | |||
doris_be_timeout_canceled_fragment_count | Количество | Накопительное количество экземпляров фрагментов, отмененных по тайм-ауту | Значение может учитываться повторно. Например, некоторые экземпляры фрагментов могут отменяться несколько раз | P0 | |
doris_be_stream_load_txn_request | {type="begin"} | Количество | Накопительное количество начатых транзакций Stream Load | Включает задачи Stream Load и Routine Load | |
doris_be_stream_load_txn_request | {type="commit"} | Количество | Накопительное количество успешно зафиксированных транзакций Stream Load | То же, что выше | |
doris_be_stream_load_txn_request | {type="rollback"} | Количество | Накопительное количество транзакций Stream Load, завершившихся с ошибкой | То же, что выше | |
doris_be_unused_rowsets_count | Количество | Количество устаревших rowset на данный момент | В нормальных условиях эти rowset периодически удаляются | ||
doris_be_upload_fail_count | Количество | Накопительное количество неудачных загрузок rowset в удаленное хранилище при использовании многоуровневого хранения | |||
doris_be_upload_rowset_count | Количество | Накопительное количество успешных загрузок rowset в удаленное хранилище при использовании многоуровневого хранения | |||
doris_be_upload_total_byte | Байты | Накопительный объем данных rowset, успешно загруженных в удаленное хранилище при использовании многоуровневого хранения | |||
doris_be_load_bytes | Байты | Накопительное количество байтов, отправленных через tablet sink | Позволяет отслеживать объем загружаемых данных | P0 | |
doris_be_load_rows | Количество | Накопительное количество строк, отправленных через tablet sink | Позволяет отслеживать объем загружаемых данных | P0 | |
fragment_thread_pool_queue_size | Количество | Текущая длина очереди ожидания пула потоков выполнения запросов | Значение больше нуля означает, что все потоки запросов заняты и запросы накапливаются | P0 | |
doris_be_all_rowsets_num | Количество | Общее количество всех существующих rowset | P0 | ||
doris_be_all_segments_num | Количество | Общее количество всех существующих сегментов | P0 | ||
doris_be_heavy_work_max_threads | Количество | Количество потоков в пуле brpc heavy | P0 | ||
doris_be_light_work_max_threads | Количество | Количество потоков в пуле brpc light | P0 | ||
doris_be_heavy_work_pool_queue_size | Количество | Максимальная длина очереди пула потоков brpc heavy. При превышении отправка задач блокируется | P0 | ||
doris_be_light_work_pool_queue_size | Количество | Максимальная длина очереди пула потоков brpc light. При превышении отправка задач блокируется | P0 | ||
doris_be_heavy_work_active_threads | Количество | Количество активных потоков в пуле brpc heavy | P0 | ||
doris_be_light_work_active_threads | Количество | Количество активных потоков в пуле brpc light | P0 | ||
routine_load_get_msg_latency | Миллисекунды | Задержка получения сообщений Kafka в Routine Load | |||
routine_load_get_msg_count | Количество | Количество операций получения сообщений Kafka в Routine Load | |||
routine_load_consume_bytes | Байты | Объем данных, потребленных Routine Load из Kafka | |||
routine_load_consume_rows | Количество | Количество строк, потребленных Routine Load из Kafka | |||
doris_be_tablet_size_based_max_compaction_score | Количество | Текущее максимальное значение Cumulative Compaction Score для стратегии Size-based | Gauge, добавлена в 4.1.5; поддерживает совмещенный режим и режим с разделением вычислений и хранения | ||
doris_be_tablet_time_series_max_compaction_score | Количество | Текущее максимальное значение Cumulative Compaction Score для стратегии Time-series | Gauge, добавлена в 4.1.5; поддерживает совмещенный режим и режим с разделением вычислений и хранения | ||
doris_be_hdfs_file_open_reading | Количество | Текущее количество фактически открытых файловых дескрипторов HDFS | Gauge; начиная с версии 4.1.5 учитывает общие файловые дескрипторы, а не объекты чтения | ||
doris_be_hdfs_file_reader_total | Количество | Накопительное количество успешных открытий файловых дескрипторов HDFS | Counter; начиная с версии 4.1.5 объекты чтения, которые не открывали файл, не увеличивают значение, а повторное использование кэшированного дескриптора не учитывается повторно |
Оба значения Compaction Score для отдельных стратегий являются максимумами. Не складывайте их и не применяйте к ним расчет скорости изменения, предназначенный для Counter. После полной проверки значение стратегии, для которой нет подходящих tablet, может сброситься до нуля. Если при проверке в совмещенном режиме некоторые каталоги пропущены из-за ограничений дисковой емкости, это само по себе не приводит к снижению ранее полученного значения.
Мониторинг сервера
| Имя | Метка | Единица измерения | Значение | Описание | Приоритет |
|---|---|---|---|---|---|
doris_be_cpu | Количество | Метрики мониторинга CPU, собираемые из /proc/stat. Значения собираются для каждого логического ядра. Например, {device="cpu0",mode="nice"} обозначает значение nice для cpu0 | Позволяет рассчитать использование CPU | P0 | |
doris_be_disk_bytes_read | Байты | Накопительный объем чтения с диска. Данные собираются из /proc/diskstats. Значения собираются для каждого диска. Например, {device="vdd"} обозначает значение для диска vdd | |||
doris_be_disk_bytes_written | Байты | Накопительный объем записи на диск. Данные собираются так же, как указано выше | |||
doris_be_disk_io_time_ms | Миллисекунды | Данные собираются так же, как указано выше | Позволяет рассчитать IO Util | P0 | |
doris_be_disk_io_time_weighted | Миллисекунды | Данные собираются так же, как указано выше | |||
doris_be_disk_reads_completed | Количество | Данные собираются так же, как указано выше | |||
doris_be_disk_read_time_ms | Миллисекунды | Данные собираются так же, как указано выше | |||
doris_be_disk_writes_completed | Количество | Данные собираются так же, как указано выше | |||
doris_be_disk_write_time_ms | Миллисекунды | Данные собираются так же, как указано выше | |||
doris_be_fd_num_limit | Количество | Верхний системный лимит количества файловых дескрипторов. Данные собираются из /proc/sys/fs/file-nr | |||
doris_be_fd_num_used | Количество | Количество файловых дескрипторов, используемых системой. Данные собираются из /proc/sys/fs/file-nr | |||
doris_be_file_created_total | Количество | Накопительное количество созданий локальных файлов | Учитывает все файлы, для которых вызывался local_file_writer и которые в итоге были закрыты | ||
doris_be_load_average | Количество | Мониторинг средней нагрузки сервера Load Avg. Например, {mode="15_minutes"} обозначает Load Avg за 15 минут | Позволяет отслеживать общую нагрузку на сервер | P0 | |
doris_be_max_disk_io_util_percent | Проценты | Рассчитанное максимальное значение IO UTIL среди всех дисков | P0 | ||
doris_be_max_network_receive_bytes_rate | Байты/с | Рассчитанная максимальная скорость приема среди всех сетевых интерфейсов | P0 | ||
doris_be_max_network_send_bytes_rate | Байты/с | Рассчитанная максимальная скорость отправки среди всех сетевых интерфейсов | P0 | ||
doris_be_memory_pgpgin | Байты | Объем данных, записанных системой с диска в страницы памяти | |||
doris_be_memory_pgpgout | Байты | Объем данных, записанных из страниц системной памяти на диск | |||
doris_be_memory_pswpin | Байты | Объем данных, перенесенных системой из области подкачки на диске в память | В нормальных условиях подкачка должна быть отключена, поэтому значение должно быть 0 | ||
doris_be_memory_pswpout | Байты | Объем данных, выгруженных системой из памяти в область подкачки на диске | В нормальных условиях подкачка должна быть отключена, поэтому значение должно быть 0 | ||
doris_be_network_receive_bytes | Байты | Накопительное количество полученных байтов для каждого сетевого интерфейса. Данные собираются из /proc/net/dev | |||
doris_be_network_receive_packets | Количество | Накопительное количество полученных пакетов для каждого сетевого интерфейса. Данные собираются из /proc/net/dev | |||
doris_be_network_send_bytes | Байты | Накопительное количество отправленных байтов для каждого сетевого интерфейса. Данные собираются из /proc/net/dev | |||
doris_be_network_send_packets | Количество | Накопительное количество отправленных пакетов для каждого сетевого интерфейса. Данные собираются из /proc/net/dev | |||
doris_be_proc | {mode="ctxt_switch"} | Количество | Накопительное количество переключений контекста CPU. Данные собираются из /proc/stat | Позволяет выявлять аномалии переключения контекста | P0 |
doris_be_proc | {mode="interrupt"} | Количество | Накопительное количество прерываний CPU. Данные собираются из /proc/stat | ||
doris_be_proc | {mode="procs_blocked"} | Количество | Количество заблокированных сейчас процессов в системе (например, ожидающих IO). Данные собираются из /proc/stat | ||
doris_be_proc | {mode="procs_running"} | Количество | Количество выполняемых сейчас процессов в системе. Данные собираются из /proc/stat | ||
doris_be_snmp_tcp_in_errs | Количество | Количество ошибок приема пакетов tcp. Данные собираются из /proc/net/snmp | Позволяет отслеживать сетевые ошибки, например повторные передачи и потерю пакетов. Используйте вместе с другими метриками snmp | P0 | |
doris_be_snmp_tcp_in_segs | Количество | Количество полученных пакетов tcp. Данные собираются из /proc/net/snmp | |||
doris_be_snmp_tcp_out_segs | Количество | Количество отправленных пакетов tcp. Данные собираются из /proc/net/snmp | |||
doris_be_snmp_tcp_retrans_segs | Количество | Количество повторных передач пакетов tcp. Данные собираются из /proc/net/snmp |
Диагностические метрики bvar
Следующие метрики поддерживаются начиная с версии 4.1.5 и доступны через описанные выше порты brpc. Счетчики накапливают значения с момента запуска процесса; метрики Gauge отражают текущие значения.
| Имя или префикс | Процесс | Тип | Значение |
|---|---|---|---|
sync_tablets_meta_num | BE в режиме с разделением вычислений и хранения | Counter | Накопительное количество фоновых попыток синхронизации метаданных tablet; учитывается до вызова и не отражает количество успешных вызовов |
sync_tablets_rowsets_num | BE в режиме с разделением вычислений и хранения | Counter | Накопительное количество фоновых попыток синхронизации rowset для tablet; учитывается до вызова и не отражает количество успешных вызовов |
vertical_compaction_active_segment_contexts | BE | Gauge | Текущее количество активных контекстов Segment, удерживаемых вертикальной Compaction |
hdfs_get_path_info | BE | Статистика задержки, микросекунды | Префикс метрик задержки hdfsGetPathInfo для диагностики доступа к метаданным файлов HDFS |
ms_repair_tablet_index | Meta Service | Counter | Накопительное количество старых записей Tablet Index, исправленных для добавления отсутствующего db_id при фиксации транзакции; учитывается только после успешной фиксации |
file_cache_ttl_mgr_ttl_info_map_size (с префиксом пути кэша) | BE | Gauge | Текущее количество записей информации о TTL tablet, отслеживаемых в памяти, а не блоков кэша |
Префиксы путей кэша и метрики вытеснения описаны в разделе Мониторинг файлового кэша. По завершении вертикальной Compaction поле vertical_compaction_active_segment_contexts_peak в журнале BE уровня INFO содержит пиковое количество контекстов для этой задачи. Это поле журнала, а не отдельная метрика Gauge уровня процесса.
Часто задаваемые вопросы
Вопрос: конечная точка мониторинга возвращает 404. Что делать?
Убедитесь, что вы обращаетесь к http_port FE или webserver_port BE, и проверьте фактические значения портов в fe.conf / be.conf.
Вопрос: метрики Counter только увеличиваются и никогда не уменьшаются. Это нормально?
Да, это нормально. Counter представляет накопительное значение. Для получения текущей скорости необходимо снимать показания через определенные интервалы и вычислять скорость изменения (например, с помощью rate() в PromQL).
Вопрос: разрыв значений doris_fe_max_journal_id между узлами FE слишком велик. Что делать?
Это указывает на задержку синхронизации метаданных. Проверьте сетевую связность и скорость воспроизведения журналов на Follower / Observer FE относительно Master FE.
Вопрос: Compaction Score остается слишком высоким. Как найти причину?
Обратите внимание на doris_be_tablet_base_max_compaction_score и doris_be_tablet_cumulative_max_compaction_score и сопоставьте их с дисковым IO и количеством задач Compaction, чтобы выявить узкое место.
Вопрос: запросы или задачи загрузки накапливаются. Как найти причину?
Проверьте метрики очередей пулов потоков, такие как fragment_thread_pool_queue_size, doris_be_scanner_thread_pool_queue_size и doris_be_send_batch_thread_pool_queue_size.