Версия:

Вложенный модуль box.cfg
Вложенный модуль box.cfg

Вложенный модуль box.cfg

Вложенный модуль box.cfg

С помощью вложенного модуля box.cfg администраторы могут указать все конфигурационные параметры сервера (полное описание всех конфигурационных параметров см. в «Справочнике по настройке»). Используйте box.cfg без скобок, чтобы получить доступ для чтения этих параметров.

Пример:

tarantool> box.cfg
 ---
 - checkpoint_count: 2
   too_long_threshold: 0.5
   slab_alloc_factor: 1.1
   memtx_max_tuple_size: 1048576
   background: false
   <...>
 ...

Вложенный модуль box.info

Вложенный модуль box.info предоставляет доступ к информации о переменных экземпляра сервера. Часть этой информации также доступна из :ref:` модуля tarantool <tarantool-module>`.

  • server.lsn Порядковый номер последней записи в журнале упреждающей записи WAL.
  • server.ro Значение true (правда), если экземпляр находится в режиме только для чтения «read_only» (как read_only в box.cfg).
  • server.uuid Уникальный идентификатор экземпляра, который хранится в базе данных. Данное значение также хранится в системном спейсе box.space._cluster.
  • server.id Номер экземпляра сервера в пределах набора реплик.
  • version Версия Tarantool’а. Данное значение также можно отобразить с помощью команды tarantool –version.
  • status Как правило, статус будет „running“ (запущен), но также может принимать значения „loading“ (загружается), „orphan“ (одиночный) или „hot_standby“ (горячее резервирование).
  • vclock Аналогично replication.vclock.
  • pid Идентификатор процесса. Это значение также отображается с помощью модуля tarantool и по команде «ps -A» в Linux.
  • cluster.uuid Уникальный идентификатор набора реплик. (UUID). У каждого экземпляра в наборе реплик будет одно и то же значение cluster.uuid. Данное значение также хранится в системном спейсе box.space._schema.
  • vinyl() Возвращает статистику времени работы для движка базы данных vinyl.
  • replication.lag Количество секунд, когда реплика находится позади мастера.
  • replication.status Как правило, статус будет „follow“ (следует), но также может принимать значения „off“ (отключена), „stopped“ (остановлена), „connecting“ (подключается), „auth“ (авторизация) или „disconnected“ (изолирована).
  • replication.idle Количество секунд, когда экземпляр бездействует.
  • replication.vclock См. информацию о «vector clock» в разделе «Внутренняя реализация».
  • replication.uuid Уникальный идентификатор мастера, к которому подключена данная реплика.
  • uptime Количество секунд с момента запуска экземпляра. Данное значение также можно получить с помощью tarantool.uptime().

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

box.info()

Поскольку содержимое вложенного модуля box.info является динамическим, невозможно провести итерацию по ключам с помощью Lua-функции pairs(). Для этой цели модуль box.info() создает и возвращает Lua-таблицу со всеми ключами и значениями во вложенном модуле.

возвращается:ключи и значения во вложенном модуле.
тип возвращаемого значения:
 таблица

Пример:

tarantool> box.info()
---
- server:
    lsn: 158
    ro: false
    uuid: a2684219-b2b1-4334-88ab-50b0722283fd
    id: 1
  version: 1.7.2-435-g6ba8500
  pid: 12932
  status: running
  vclock:
  - 158
  replication:
    status: off
  uptime: 908
...
tarantool> box.info.pid
---
- 12932
...
tarantool> box.info.status
---
- running
...
tarantool> box.info.uptime
---
- 1065
...
tarantool> box.info.version
---
- 1.7.2-435-g6ba8500
...

Вложенный модуль box.slab

Вложенный модуль box.slab предоставляет доступ к статистике распределения slab. Механизм распределения slab представляет собой основной тип распределения для хранения кортежей. Такое распределение можно использовать для отслеживания использования памяти и фрагментации памяти.

Отображение slab разбито по размеру slab – 64 байта, 136 байтов и т.д. В примере пропущены пустые slab, а показывается, что: * есть 16 элементов, которые хранятся в 64-байтном slab (и 16*64=102, то есть количество использованных байтов bytes_used = 1024); * есть 1 элемент, который хранится в 136-байтном slab (и 136*1=136, то есть количество использованных байтов bytes_used = 136); * значение arena_used представляет собой общее количество всех значений bytes_used (1024+136 = 1160); * значение arena_size – это значение arena_used плюс общее количество всех

значений незанятых байтов bytes_free (1160+4193200+4194088 = 8388448).

Значения arena_size и arena_used представляют собой объем памяти memtx_memory в %, уже выделенный для распределения slab.

Пример:

tarantool> box.slab.info().arena_used
---
- 4194304
...
tarantool> box.slab.info().arena_size
---
- 104857600
...
tarantool> box.slab.stats()
---
- - mem_free: 16248
    mem_used: 48
    item_count: 2
    item_size: 24
    slab_count: 1
    slab_size: 16384
  - mem_free: 15736
    mem_used: 560
    item_count: 14
    item_size: 40
    slab_count: 1
    slab_size: 16384
    <...>
...
tarantool> box.slab.stats()[1]
---
- mem_free: 15736
  mem_used: 560
  item_count: 14
  item_size: 40
  slab_count: 1
  slab_size: 16384
...

Вложенный модуль box.stat

Вложенный модуль box.stat предоставляет доступ к статистике Tarantool’а по запросам и использованию сети. Можно просмотреть среднее количество запросов в секунду и общее количество запросов с момента запуска с разбивкой по типу запроса. Кроме того, можно просмотреть статистику сетевой активности.

tarantool> type(box.stat), type(box.stat.net) -- виртуальные таблицы
---
- table
- table
...
tarantool> box.stat, box.stat.net
---
- net: []
- []
...
tarantool> box.stat()
---
- DELETE:
    total: 1873949
    rps: 123
  SELECT:
    total: 1237723
    rps: 4099
  INSERT:
    total: 0
    rps: 0
  EVAL:
    total: 0
    rps: 0
  CALL:
    total: 0
    rps: 0
  REPLACE:
    total: 1239123
    rps: 7849
  UPSERT:
    total: 0
    rps: 0
  AUTH:
    total: 0
    rps: 0
  ERROR:
    total: 0
    rps: 0
  UPDATE:
    total: 0
    rps: 0
...
tarantool> box.stat().DELETE -- выбранный элемент таблицы
---
- total: 0
  rps: 0
...
tarantool> box.stat.net()
---
- SENT:
    total: 0
    rps: 0
  RECEIVED:
    total: 0
    rps: 0
...