Вложенный модуль 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
...